diff --git a/api/v1beta1/conversion.go b/api/v1beta1/conversion.go index 07a46af64..bd31aefdd 100644 --- a/api/v1beta1/conversion.go +++ b/api/v1beta1/conversion.go @@ -142,3 +142,8 @@ func Convert_v1beta1_OCIManagedClusterStatus_To_v1beta2_OCIManagedClusterStatus( func Convert_v1beta2_OCIManagedClusterSpec_To_v1beta1_OCIManagedClusterSpec(in *v1beta2.OCIManagedClusterSpec, out *OCIManagedClusterSpec, s conversion.Scope) error { return autoConvert_v1beta2_OCIManagedClusterSpec_To_v1beta1_OCIManagedClusterSpec(in, out, s) } + +// Convert_v1beta2_ClusterOptions_To_v1beta1_ClusterOptions converts v1beta2 ClusterOptions to v1beta1 ClusterOptions +func Convert_v1beta2_ClusterOptions_To_v1beta1_ClusterOptions(in *v1beta2.ClusterOptions, out *ClusterOptions, s conversion.Scope) error { + return autoConvert_v1beta2_ClusterOptions_To_v1beta1_ClusterOptions(in, out, s) +} diff --git a/api/v1beta1/ocimanagedcontrolplane_conversion.go b/api/v1beta1/ocimanagedcontrolplane_conversion.go index ee01bfdfc..b728a6b12 100644 --- a/api/v1beta1/ocimanagedcontrolplane_conversion.go +++ b/api/v1beta1/ocimanagedcontrolplane_conversion.go @@ -36,6 +36,7 @@ func (src *OCIManagedControlPlane) ConvertTo(dstRaw conversion.Hub) error { dst.Spec.ClusterType = restored.Spec.ClusterType dst.Spec.Addons = restored.Spec.Addons dst.Status.AddonStatus = restored.Status.AddonStatus + dst.Spec.ClusterOption.OpenIdConnectDiscovery.IsOpenIdConnectDiscoveryEnabled = restored.Spec.ClusterOption.OpenIdConnectDiscovery.IsOpenIdConnectDiscoveryEnabled return nil } diff --git a/api/v1beta1/zz_generated.conversion.go b/api/v1beta1/zz_generated.conversion.go index 800c595b8..e5bfa9eeb 100644 --- a/api/v1beta1/zz_generated.conversion.go +++ b/api/v1beta1/zz_generated.conversion.go @@ -125,11 +125,6 @@ func RegisterConversions(s *runtime.Scheme) error { }); err != nil { return err } - if err := s.AddGeneratedConversionFunc((*v1beta2.ClusterOptions)(nil), (*ClusterOptions)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_v1beta2_ClusterOptions_To_v1beta1_ClusterOptions(a.(*v1beta2.ClusterOptions), b.(*ClusterOptions), scope) - }); err != nil { - return err - } if err := s.AddGeneratedConversionFunc((*ClusterPodNetworkOptions)(nil), (*v1beta2.ClusterPodNetworkOptions)(nil), func(a, b interface{}, scope conversion.Scope) error { return Convert_v1beta1_ClusterPodNetworkOptions_To_v1beta2_ClusterPodNetworkOptions(a.(*ClusterPodNetworkOptions), b.(*v1beta2.ClusterPodNetworkOptions), scope) }); err != nil { @@ -900,6 +895,11 @@ func RegisterConversions(s *runtime.Scheme) error { }); err != nil { return err } + if err := s.AddConversionFunc((*v1beta2.ClusterOptions)(nil), (*ClusterOptions)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_v1beta2_ClusterOptions_To_v1beta1_ClusterOptions(a.(*v1beta2.ClusterOptions), b.(*ClusterOptions), scope) + }); err != nil { + return err + } if err := s.AddConversionFunc((*v1beta2.LoadBalancer)(nil), (*LoadBalancer)(nil), func(a, b interface{}, scope conversion.Scope) error { return Convert_v1beta2_LoadBalancer_To_v1beta1_LoadBalancer(a.(*v1beta2.LoadBalancer), b.(*LoadBalancer), scope) }); err != nil { @@ -1179,14 +1179,11 @@ func Convert_v1beta1_ClusterOptions_To_v1beta2_ClusterOptions(in *ClusterOptions func autoConvert_v1beta2_ClusterOptions_To_v1beta1_ClusterOptions(in *v1beta2.ClusterOptions, out *ClusterOptions, s conversion.Scope) error { out.AddOnOptions = (*AddOnOptions)(unsafe.Pointer(in.AddOnOptions)) out.AdmissionControllerOptions = (*AdmissionControllerOptions)(unsafe.Pointer(in.AdmissionControllerOptions)) + // WARNING: in.OpenIdConnectDiscovery requires manual conversion: does not exist in peer-type + // WARNING: in.OpenIdConnectTokenAuthenticationConfig requires manual conversion: does not exist in peer-type return nil } -// Convert_v1beta2_ClusterOptions_To_v1beta1_ClusterOptions is an autogenerated conversion function. -func Convert_v1beta2_ClusterOptions_To_v1beta1_ClusterOptions(in *v1beta2.ClusterOptions, out *ClusterOptions, s conversion.Scope) error { - return autoConvert_v1beta2_ClusterOptions_To_v1beta1_ClusterOptions(in, out, s) -} - func autoConvert_v1beta1_ClusterPodNetworkOptions_To_v1beta2_ClusterPodNetworkOptions(in *ClusterPodNetworkOptions, out *v1beta2.ClusterPodNetworkOptions, s conversion.Scope) error { out.CniType = v1beta2.CNIOptionEnum(in.CniType) return nil diff --git a/api/v1beta2/ocimanagedcontrolplane_types.go b/api/v1beta2/ocimanagedcontrolplane_types.go index c7714eff9..eafc24dbc 100644 --- a/api/v1beta2/ocimanagedcontrolplane_types.go +++ b/api/v1beta2/ocimanagedcontrolplane_types.go @@ -17,6 +17,7 @@ limitations under the License. package v1beta2 import ( + "github.com/oracle/oci-go-sdk/v65/containerengine" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1" ) @@ -122,8 +123,66 @@ type ClusterOptions struct { // AdmissionControllerOptions defines the properties that define supported admission controllers. // +optional AdmissionControllerOptions *AdmissionControllerOptions `json:"admissionControllerOptions,omitempty"` + + // OpenIDConnectDiscovery specifies OIDC discovery settings + // +optional + OpenIdConnectDiscovery *OpenIDConnectDiscovery `json:"openIdConnectDiscovery,omitempty"` + + //OpenIDConnectTokenAuthenticationConfig + // +optional + OpenIdConnectTokenAuthenticationConfig *OpenIDConnectTokenAuthenticationConfig `json:"openIdConnectTokenAuthenticationConfig,omitempty"` +} + +type OpenIDConnectDiscovery struct { + // IsOpenIDConnectDiscoveryEnabled defines whether or not to enable the OIDC discovery. + // +optional + IsOpenIdConnectDiscoveryEnabled *bool `json:"isOpenIdConnectDiscoveryEnabled,omitempty"` +} + +type OpenIDConnectTokenAuthenticationConfig struct { + // A Base64 encoded public RSA or ECDSA certificates used to sign your identity provider's web certificate. + // +optional + CaCertificate *string `json:"caCertificate,omitempty"` + + // A client id that all tokens must be issued for. + // +optional + ClientId *string `json:"clientId,omitempty"` + + // JWT claim to use as the user's group. If the claim is present it must be an array of strings. + // +optional + GroupsClaim *string `json:"groupsClaim,omitempty"` + + // Prefix prepended to group claims to prevent clashes with existing names (such as system:groups). + // +optional + GroupsPrefix *string `json:"groupsPrefix,omitempty"` + + // IsOpenIdConnectAuthEnabled defines whether or not to enable the OIDC authentication. + IsOpenIdConnectAuthEnabled bool `json:"isOpenIdConnectAuthEnabled"` + + // URL of the provider that allows the API server to discover public signing keys. Only URLs that use the https:// scheme are accepted. This is typically the provider's discovery URL, changed to have an empty path. + // +optional + IssuerUrl *string `json:"issuerUrl,omitempty"` + + // A key=value pair that describes a required claim in the ID Token. If set, the claim is verified to be present in the ID Token with a matching value. Repeat this flag to specify multiple claims. + // +optional + RequiredClaims []KeyValue `json:"requiredClaims,omitempty"` + + // The signing algorithms accepted. Default is ["RS256"]. + // +optional + SigningAlgorithms []string `json:"signingAlgorithms,omitempty"` + + // JWT claim to use as the user name. By default sub, which is expected to be a unique identifier of the end user. Admins can choose other claims, such as email or name, depending on their provider. However, claims other than email will be prefixed with the issuer URL to prevent naming clashes with other plugins. + // +optional + UsernameClaim *string `json:"usernameClaim,omitempty"` + + // Prefix prepended to username claims to prevent clashes with existing names (such as system:users). For example, the value oidc: will create usernames like oidc:jane.doe. If this flag isn't provided and --oidc-username-claim is a value other than email the prefix defaults to ( Issuer URL )# where ( Issuer URL ) is the value of --oidc-issuer-url. The value - can be used to disable all prefixing. + // +optional + UsernamePrefix *string `json:"usernamePrefix,omitempty"` } +// KeyValue defines the properties that define a key value pair. This is alias to containerengine.KeyValue, to support the sdk type +type KeyValue containerengine.KeyValue + // AddOnOptions defines the properties that define options for supported add-ons. type AddOnOptions struct { // IsKubernetesDashboardEnabled defines whether or not to enable the Kubernetes Dashboard add-on. diff --git a/api/v1beta2/zz_generated.deepcopy.go b/api/v1beta2/zz_generated.deepcopy.go index febc74923..77a6ec7d2 100644 --- a/api/v1beta2/zz_generated.deepcopy.go +++ b/api/v1beta2/zz_generated.deepcopy.go @@ -529,6 +529,16 @@ func (in *ClusterOptions) DeepCopyInto(out *ClusterOptions) { *out = new(AdmissionControllerOptions) (*in).DeepCopyInto(*out) } + if in.OpenIdConnectDiscovery != nil { + in, out := &in.OpenIdConnectDiscovery, &out.OpenIdConnectDiscovery + *out = new(OpenIDConnectDiscovery) + (*in).DeepCopyInto(*out) + } + if in.OpenIdConnectTokenAuthenticationConfig != nil { + in, out := &in.OpenIdConnectTokenAuthenticationConfig, &out.OpenIdConnectTokenAuthenticationConfig + *out = new(OpenIDConnectTokenAuthenticationConfig) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterOptions. @@ -1025,6 +1035,31 @@ func (in *KeyDetails) DeepCopy() *KeyDetails { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeyValue) DeepCopyInto(out *KeyValue) { + *out = *in + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyValue. +func (in *KeyValue) DeepCopy() *KeyValue { + if in == nil { + return nil + } + out := new(KeyValue) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *KubernetesNetworkConfig) DeepCopyInto(out *KubernetesNetworkConfig) { *out = *in @@ -2560,6 +2595,88 @@ func (in *OCIManagedControlPlaneTemplateSpec) DeepCopy() *OCIManagedControlPlane return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenIDConnectDiscovery) DeepCopyInto(out *OpenIDConnectDiscovery) { + *out = *in + if in.IsOpenIdConnectDiscoveryEnabled != nil { + in, out := &in.IsOpenIdConnectDiscoveryEnabled, &out.IsOpenIdConnectDiscoveryEnabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIDConnectDiscovery. +func (in *OpenIDConnectDiscovery) DeepCopy() *OpenIDConnectDiscovery { + if in == nil { + return nil + } + out := new(OpenIDConnectDiscovery) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenIDConnectTokenAuthenticationConfig) DeepCopyInto(out *OpenIDConnectTokenAuthenticationConfig) { + *out = *in + if in.CaCertificate != nil { + in, out := &in.CaCertificate, &out.CaCertificate + *out = new(string) + **out = **in + } + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.GroupsClaim != nil { + in, out := &in.GroupsClaim, &out.GroupsClaim + *out = new(string) + **out = **in + } + if in.GroupsPrefix != nil { + in, out := &in.GroupsPrefix, &out.GroupsPrefix + *out = new(string) + **out = **in + } + if in.IssuerUrl != nil { + in, out := &in.IssuerUrl, &out.IssuerUrl + *out = new(string) + **out = **in + } + if in.RequiredClaims != nil { + in, out := &in.RequiredClaims, &out.RequiredClaims + *out = make([]KeyValue, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SigningAlgorithms != nil { + in, out := &in.SigningAlgorithms, &out.SigningAlgorithms + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.UsernameClaim != nil { + in, out := &in.UsernameClaim, &out.UsernameClaim + *out = new(string) + **out = **in + } + if in.UsernamePrefix != nil { + in, out := &in.UsernamePrefix, &out.UsernamePrefix + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIDConnectTokenAuthenticationConfig. +func (in *OpenIDConnectTokenAuthenticationConfig) DeepCopy() *OpenIDConnectTokenAuthenticationConfig { + if in == nil { + return nil + } + out := new(OpenIDConnectTokenAuthenticationConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PeerRouteRule) DeepCopyInto(out *PeerRouteRule) { *out = *in diff --git a/cloud/scope/managed_control_plane.go b/cloud/scope/managed_control_plane.go index d1e665bca..c8e990873 100644 --- a/cloud/scope/managed_control_plane.go +++ b/cloud/scope/managed_control_plane.go @@ -19,13 +19,14 @@ package scope import ( "context" "encoding/base64" - "encoding/json" "fmt" "io" "reflect" "strings" "github.com/go-logr/logr" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" infrastructurev1beta2 "github.com/oracle/cluster-api-provider-oci/api/v1beta2" "github.com/oracle/cluster-api-provider-oci/cloud/ociutil" baseclient "github.com/oracle/cluster-api-provider-oci/cloud/services/base" @@ -160,6 +161,52 @@ func (s *ManagedControlPlaneScope) GetOrCreateControlPlane(ctx context.Context) createOptions.KubernetesNetworkConfig = &networkConfig } + if controlPlaneSpec.ClusterOption.OpenIdConnectDiscovery != nil { + createOptions.OpenIdConnectDiscovery = &oke.OpenIdConnectDiscovery{ + IsOpenIdConnectDiscoveryEnabled: controlPlaneSpec.ClusterOption.OpenIdConnectDiscovery.IsOpenIdConnectDiscoveryEnabled, + } + } + + if controlPlaneSpec.ClusterOption.OpenIdConnectTokenAuthenticationConfig != nil { + oidcConfig := controlPlaneSpec.ClusterOption.OpenIdConnectTokenAuthenticationConfig + createOptions.OpenIdConnectTokenAuthenticationConfig = &oke.OpenIdConnectTokenAuthenticationConfig{ + IsOpenIdConnectAuthEnabled: &oidcConfig.IsOpenIdConnectAuthEnabled, + } + + if oidcConfig.IssuerUrl != nil { + createOptions.OpenIdConnectTokenAuthenticationConfig.IssuerUrl = oidcConfig.IssuerUrl + } + if oidcConfig.ClientId != nil { + createOptions.OpenIdConnectTokenAuthenticationConfig.ClientId = oidcConfig.ClientId + } + if oidcConfig.UsernameClaim != nil { + createOptions.OpenIdConnectTokenAuthenticationConfig.UsernameClaim = oidcConfig.UsernameClaim + } + if oidcConfig.UsernamePrefix != nil { + createOptions.OpenIdConnectTokenAuthenticationConfig.UsernamePrefix = oidcConfig.UsernamePrefix + } + if oidcConfig.GroupsClaim != nil { + createOptions.OpenIdConnectTokenAuthenticationConfig.GroupsClaim = oidcConfig.GroupsClaim + } + if oidcConfig.GroupsPrefix != nil { + createOptions.OpenIdConnectTokenAuthenticationConfig.GroupsPrefix = oidcConfig.GroupsPrefix + } + if oidcConfig.RequiredClaims != nil { + // Convert []infrastructurev1beta2.KeyValue to []containerengine.KeyValue + requiredClaims := make([]oke.KeyValue, len(oidcConfig.RequiredClaims)) + for i, rc := range oidcConfig.RequiredClaims { + requiredClaims[i] = oke.KeyValue(rc) + } + createOptions.OpenIdConnectTokenAuthenticationConfig.RequiredClaims = requiredClaims + } + if oidcConfig.CaCertificate != nil { + createOptions.OpenIdConnectTokenAuthenticationConfig.CaCertificate = oidcConfig.CaCertificate + } + if oidcConfig.SigningAlgorithms != nil { + createOptions.OpenIdConnectTokenAuthenticationConfig.SigningAlgorithms = oidcConfig.SigningAlgorithms + } + } + if controlPlaneSpec.ClusterOption.AddOnOptions != nil { createOptions.AddOns = &oke.AddOnOptions{ IsKubernetesDashboardEnabled: controlPlaneSpec.ClusterOption.AddOnOptions.IsKubernetesDashboardEnabled, @@ -605,17 +652,8 @@ func (s *ManagedControlPlaneScope) UpdateControlPlane(ctx context.Context, okeCl setControlPlaneSpecDefaults(spec) actual := s.getSpecFromActual(okeCluster) - if !reflect.DeepEqual(spec, actual) { - // printing json specs will help debug problems when there are spurious/unwanted updates - jsonSpec, err := json.Marshal(*spec) - if err != nil { - return false, err - } - jsonActual, err := json.Marshal(*actual) - if err != nil { - return false, err - } - s.Logger.Info("Control plane", "spec", jsonSpec, "actual", jsonActual) + // Log the actual and desired specs + if !s.compareSpecs(spec, actual) { controlPlaneSpec := s.OCIManagedControlPlane.Spec updateOptions := oke.UpdateClusterOptionsDetails{} if controlPlaneSpec.ClusterOption.AdmissionControllerOptions != nil { @@ -623,6 +661,53 @@ func (s *ManagedControlPlaneScope) UpdateControlPlane(ctx context.Context, okeCl IsPodSecurityPolicyEnabled: controlPlaneSpec.ClusterOption.AdmissionControllerOptions.IsPodSecurityPolicyEnabled, } } + if controlPlaneSpec.ClusterOption.OpenIdConnectDiscovery != nil { + updateOptions.OpenIdConnectDiscovery = &oke.OpenIdConnectDiscovery{ + IsOpenIdConnectDiscoveryEnabled: controlPlaneSpec.ClusterOption.OpenIdConnectDiscovery.IsOpenIdConnectDiscoveryEnabled, + } + } + if controlPlaneSpec.ClusterOption.OpenIdConnectTokenAuthenticationConfig != nil { + s.Logger.Info("Updating OIDC Connect Token config") + oidcConfig := controlPlaneSpec.ClusterOption.OpenIdConnectTokenAuthenticationConfig + updateOptions.OpenIdConnectTokenAuthenticationConfig = &oke.OpenIdConnectTokenAuthenticationConfig{ + IsOpenIdConnectAuthEnabled: &oidcConfig.IsOpenIdConnectAuthEnabled, + } + + if oidcConfig.IssuerUrl != nil { + updateOptions.OpenIdConnectTokenAuthenticationConfig.IssuerUrl = oidcConfig.IssuerUrl + } + if oidcConfig.ClientId != nil { + updateOptions.OpenIdConnectTokenAuthenticationConfig.ClientId = oidcConfig.ClientId + } + if oidcConfig.UsernameClaim != nil { + updateOptions.OpenIdConnectTokenAuthenticationConfig.UsernameClaim = oidcConfig.UsernameClaim + } + if oidcConfig.UsernamePrefix != nil { + updateOptions.OpenIdConnectTokenAuthenticationConfig.UsernamePrefix = oidcConfig.UsernamePrefix + } + if oidcConfig.GroupsClaim != nil { + updateOptions.OpenIdConnectTokenAuthenticationConfig.GroupsClaim = oidcConfig.GroupsClaim + } + if oidcConfig.GroupsPrefix != nil { + updateOptions.OpenIdConnectTokenAuthenticationConfig.GroupsPrefix = oidcConfig.GroupsPrefix + } + if oidcConfig.RequiredClaims != nil { + // Convert []infrastructurev1beta2.KeyValue to []containerengine.KeyValue + requiredClaims := make([]oke.KeyValue, len(oidcConfig.RequiredClaims)) + for i, rc := range oidcConfig.RequiredClaims { + requiredClaims[i] = oke.KeyValue(rc) + } + updateOptions.OpenIdConnectTokenAuthenticationConfig.RequiredClaims = requiredClaims + } + if oidcConfig.CaCertificate != nil { + updateOptions.OpenIdConnectTokenAuthenticationConfig.CaCertificate = oidcConfig.CaCertificate + } + if oidcConfig.SigningAlgorithms != nil { + updateOptions.OpenIdConnectTokenAuthenticationConfig.SigningAlgorithms = oidcConfig.SigningAlgorithms + } + + s.Logger.Info("Updated OIDC Connect Token config", "config", updateOptions.OpenIdConnectTokenAuthenticationConfig) + } details := oke.UpdateClusterDetails{ Name: common.String(s.GetClusterName()), KubernetesVersion: controlPlaneSpec.Version, @@ -640,7 +725,7 @@ func (s *ManagedControlPlaneScope) UpdateControlPlane(ctx context.Context, okeCl ClusterId: okeCluster.Id, UpdateClusterDetails: details, } - _, err = s.ContainerEngineClient.UpdateCluster(ctx, updateClusterRequest) + _, err := s.ContainerEngineClient.UpdateCluster(ctx, updateClusterRequest) if err != nil { return false, errors.Wrapf(err, "failed to update cluster") } @@ -653,6 +738,21 @@ func (s *ManagedControlPlaneScope) UpdateControlPlane(ctx context.Context, okeCl return false, nil } +// compareSpecs compares two OCIManagedControlPlaneSpec objects for equality +func (s *ManagedControlPlaneScope) compareSpecs(spec1, spec2 *infrastructurev1beta2.OCIManagedControlPlaneSpec) bool { + if spec1 == nil || spec2 == nil { + return spec1 == spec2 + } + + // Use go-cmp to compare the specs + equal := cmp.Equal(spec1, spec2, cmpopts.EquateEmpty()) + if !equal { + diff := cmp.Diff(spec1, spec2, cmpopts.EquateEmpty()) + s.Logger.Info("Specs are different", "diff", diff) + } + return equal +} + // setControlPlaneSpecDefaults sets the defaults in the spec as returned by OKE API. We need to set defaults here rather than webhook as well as // there is a chance user will edit the cluster func setControlPlaneSpecDefaults(spec *infrastructurev1beta2.OCIManagedControlPlaneSpec) { @@ -727,6 +827,30 @@ func (s *ManagedControlPlaneScope) getSpecFromActual(cluster *oke.Cluster) *infr IsKubernetesDashboardEnabled: cluster.Options.AddOns.IsKubernetesDashboardEnabled, } } + if cluster.Options.OpenIdConnectDiscovery != nil { + spec.ClusterOption.OpenIdConnectDiscovery = &infrastructurev1beta2.OpenIDConnectDiscovery{ + IsOpenIdConnectDiscoveryEnabled: cluster.Options.OpenIdConnectDiscovery.IsOpenIdConnectDiscoveryEnabled, + } + } + if cluster.Options.OpenIdConnectTokenAuthenticationConfig != nil { + oidcConfig := cluster.Options.OpenIdConnectTokenAuthenticationConfig + requiredClaims := make([]infrastructurev1beta2.KeyValue, len(oidcConfig.RequiredClaims)) + for i, rc := range oidcConfig.RequiredClaims { + requiredClaims[i] = infrastructurev1beta2.KeyValue(rc) + } + spec.ClusterOption.OpenIdConnectTokenAuthenticationConfig = &infrastructurev1beta2.OpenIDConnectTokenAuthenticationConfig{ + IsOpenIdConnectAuthEnabled: *oidcConfig.IsOpenIdConnectAuthEnabled, + IssuerUrl: oidcConfig.IssuerUrl, + ClientId: oidcConfig.ClientId, + UsernameClaim: oidcConfig.UsernameClaim, + UsernamePrefix: oidcConfig.UsernamePrefix, + GroupsClaim: oidcConfig.GroupsClaim, + GroupsPrefix: oidcConfig.GroupsPrefix, + RequiredClaims: requiredClaims, + CaCertificate: oidcConfig.CaCertificate, + SigningAlgorithms: oidcConfig.SigningAlgorithms, + } + } } if cluster.Type != "" { switch cluster.Type { diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_ociclusteridentities.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_ociclusteridentities.yaml index 0941704c9..04a2a12c9 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_ociclusteridentities.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_ociclusteridentities.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: ociclusteridentities.infrastructure.cluster.x-k8s.io spec: group: infrastructure.cluster.x-k8s.io @@ -21,14 +21,19 @@ spec: API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -37,55 +42,56 @@ spec: to create an OCIClusterIdentity. properties: allowedNamespaces: - description: 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. + description: |- + 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. nullable: true properties: list: - description: A nil or empty list indicates that OCICluster cannot - use the identity from any namespace. NamespaceList takes precedence - over the Selector. + description: |- + A nil or empty list indicates that OCICluster cannot use the identity from any namespace. + NamespaceList takes precedence over the Selector. items: type: string nullable: true type: array selector: - description: "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. \n A nil or empty selector indicates - that OCICluster cannot use this OCIClusterIdentity from any - namespace." + description: |- + 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. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that relates - the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, - Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If - the operator is In or NotIn, the values array must - be non-empty. If the operator is Exists or DoesNotExist, - the values array must be empty. This array is replaced - during a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -97,11 +103,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A - single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only - "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -121,8 +126,9 @@ spec: type: object x-kubernetes-map-type: atomic type: - description: Type is the type of OCI Principal used. UserPrincipal - is the only supported value + description: |- + Type is the type of OCI Principal used. + UserPrincipal is the only supported value type: string required: - type @@ -137,37 +143,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -188,14 +194,19 @@ spec: API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -204,55 +215,56 @@ spec: to create an OCIClusterIdentity. properties: allowedNamespaces: - description: 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. + description: |- + 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. nullable: true properties: list: - description: A nil or empty list indicates that OCICluster cannot - use the identity from any namespace. NamespaceList takes precedence - over the Selector. + description: |- + A nil or empty list indicates that OCICluster cannot use the identity from any namespace. + NamespaceList takes precedence over the Selector. items: type: string nullable: true type: array selector: - description: "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. \n A nil or empty selector indicates - that OCICluster cannot use this OCIClusterIdentity from any - namespace." + description: |- + 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. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that relates - the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, - Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If - the operator is In or NotIn, the values array must - be non-empty. If the operator is Exists or DoesNotExist, - the values array must be empty. This array is replaced - during a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -264,11 +276,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A - single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only - "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -288,8 +299,9 @@ spec: type: object x-kubernetes-map-type: atomic type: - description: Type is the type of OCI Principal used. UserPrincipal - is the only supported value + description: |- + Type is the type of OCI Principal used. + UserPrincipal is the only supported value type: string required: - type @@ -304,37 +316,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_ociclusters.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_ociclusters.yaml index 20f2227a0..c098b3a35 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_ociclusters.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_ociclusters.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: ociclusters.infrastructure.cluster.x-k8s.io spec: group: infrastructure.cluster.x-k8s.io @@ -20,14 +20,19 @@ spec: description: OCICluster is the Schema for the ociclusters API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -57,10 +62,10 @@ spec: additionalProperties: type: string type: object - description: '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"}}`' + description: |- + 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"}}` type: object freeformTags: additionalProperties: @@ -75,33 +80,40 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. type: string kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object x-kubernetes-map-type: atomic @@ -130,15 +142,15 @@ spec: soon as current backend becomes unhealthy. properties: urlPath: - description: 'The path against which to run the - health check. Example: `/healthcheck` Default - value is `/healthz`' + description: |- + The path against which to run the health check. + Example: `/healthcheck` + Default value is `/healthz` type: string type: object isFailOpen: - description: If enabled, the network load balancer - will continue to distribute traffic in the configured - distribution in the event all backends are unhealthy. + description: |- + If enabled, the network load balancer will continue to distribute traffic in the configured distribution in the event all backends are unhealthy. The value is false by default. type: boolean isInstantFailoverEnabled: @@ -147,27 +159,26 @@ spec: soon as current backend becomes unhealthy. type: boolean isPreserveSource: - description: If this parameter is enabled, then the - network load balancer preserves the source IP of - the packet when it is forwarded to backends. Backends - see the original source IP. If the isPreserveSourceDestination - parameter is enabled for the network load balancer - resource, then this parameter cannot be disabled. + description: |- + If this parameter is enabled, then the network load balancer preserves the source IP of the packet when it is forwarded to backends. + Backends see the original source IP. If the isPreserveSourceDestination parameter is enabled for the network load balancer resource, then this parameter cannot be disabled. The value is false by default. type: boolean type: object type: object type: object skipNetworkManagement: - description: SkipNetworkManagement defines if the networking spec(VCN - related) specified by the user needs to be reconciled(actioned-upon) + description: |- + 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. type: boolean vcn: description: VCN configuration. properties: cidr: - description: VCN CIDR. Deprecated, please use NetworkDetails.cidrs + description: |- + VCN CIDR. + Deprecated, please use NetworkDetails.cidrs type: string cidrs: description: VCN CIDRs. @@ -175,10 +186,10 @@ spec: type: string type: array dnsLabel: - description: DnsLabel specifies a DNS label for the VCN, used - in conjunction with the VNIC's hostname and subnet's DNS - label to form a fully qualified domain name (FQDN) for each - VNIC within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). + description: |- + DnsLabel specifies a DNS label for the VCN, used in conjunction with the VNIC's hostname and + subnet's DNS label to form a fully qualified domain name (FQDN) for each VNIC + within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). type: string id: description: VCN OCID. @@ -196,8 +207,9 @@ spec: description: NetworkSecurityGroups is the configuration for the Network Security Groups required in the VCN. items: - description: NSG defines configuration for a Network Security - Group. https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/networksecuritygroups.htm + description: |- + NSG defines configuration for a Network Security Group. + https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/networksecuritygroups.htm properties: egressRules: description: EgressRules on the NSG. @@ -214,47 +226,37 @@ spec: choice for the rule. type: string destination: - description: '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`.' + description: |- + 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`. type: string destinationType: - description: '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).' + description: |- + 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). type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -264,41 +266,33 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -311,11 +305,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -325,22 +317,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -353,11 +341,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -368,9 +354,9 @@ spec: type: object type: object id: - description: 'EgressSecurityRule ID for NSG. Deprecated: - this field is not populated and used during - reconciliation' + description: |- + EgressSecurityRule ID for NSG. + Deprecated: this field is not populated and used during reconciliation type: string type: object type: array @@ -384,9 +370,9 @@ spec: for NSG properties: id: - description: 'IngressSecurityRule ID for NSG. - Deprecated: this field is not populated and - used during reconciliation' + description: |- + IngressSecurityRule ID for NSG. + Deprecated: this field is not populated and used during reconciliation type: string ingressRule: description: IngressSecurityRule A rule for allowing @@ -397,22 +383,16 @@ spec: choice for the rule. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -422,66 +402,53 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string source: - description: '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`.' + description: |- + 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`. type: string sourceType: - description: '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).' + description: |- + 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). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -494,11 +461,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -508,22 +473,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -536,11 +497,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -579,17 +538,18 @@ spec: description: Subnets is the configuration for subnets required in the VCN. items: - description: 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 + description: |- + 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 properties: cidr: description: Subnet CIDR. type: string dnsLabel: - description: DnsLabel DNS label for the subnet, used - in conjunction with the VNIC's hostname and VCN's - DNS label to form a fully qualified domain name (FQDN) - for each VNIC within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). + description: |- + DnsLabel DNS label for the subnet, used in conjunction with the VNIC's hostname and + VCN's DNS label to form a fully qualified domain name (FQDN) for each VNIC + within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). type: string id: description: Subnet OCID. @@ -615,47 +575,37 @@ spec: choice for the rule. type: string destination: - description: '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`.' + description: |- + 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`. type: string destinationType: - description: '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).' + description: |- + 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). type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -665,41 +615,33 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -712,11 +654,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -726,22 +666,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -754,11 +690,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -783,22 +717,16 @@ spec: choice for the rule. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -808,66 +736,53 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string source: - description: '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`.' + description: |- + 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`. type: string sourceType: - description: '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).' + description: |- + 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). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -880,11 +795,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -894,22 +807,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -922,11 +831,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -958,76 +865,72 @@ spec: description: VCNPeering configuration. properties: drg: - description: 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. + description: |- + 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. properties: id: description: ID is the OCID for the created DRG. type: string manage: - description: 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. + description: |- + 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. type: boolean name: description: Name is the name of the created DRG. type: string vcnAttachmentId: - description: 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. + description: |- + 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. type: string type: object peerRouteRules: - description: 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. + description: |- + 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. items: description: PeerRouteRule defines a Route Rule to be routed via a DRG. properties: vcnCIDRRange: - description: 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. + description: |- + 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. type: string type: object type: array remotePeeringConnections: - description: RemotePeeringConnections defines the RPC connections - which be established with the workload cluster DRG. + description: |- + RemotePeeringConnections defines the RPC connections which be established with the + workload cluster DRG. items: - description: 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 + description: |- + 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 properties: managePeerRPC: - description: 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. + description: |- + 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. type: boolean name: - description: A unique name identifying the RPC, please - note this is to identify the RPC from other RPC elements, - and will not be used in any OCI API call. + description: |- + A unique name identifying the RPC, please note this is to identify the RPC + from other RPC elements, and will not be used in any OCI API call. type: string peerDRGId: description: PeerDRGId defines the DRG ID of the peer. type: string peerRPCConnectionId: - description: 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. + description: |- + 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. type: string peerRegionName: description: PeerRegionName defined the region name @@ -1042,14 +945,15 @@ spec: type: object type: object ociResourceIdentifier: - description: 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. + description: |- + 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. type: string region: - description: 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 + description: |- + 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 type: string type: object status: @@ -1070,9 +974,9 @@ spec: description: 'Name is the AD''s full name. Example: Uocm:PHX-AD-1' type: string type: object - description: 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. + description: |- + 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. type: object conditions: description: NetworkSpec encapsulates all things related to OCI network. @@ -1081,37 +985,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -1121,9 +1025,9 @@ spec: type: array failureDomains: additionalProperties: - description: FailureDomainSpec is the Schema for Cluster API failure - domains. It allows controllers to understand how many failure - domains a cluster can optionally span across. + description: |- + FailureDomainSpec is the Schema for Cluster API failure domains. + It allows controllers to understand how many failure domains a cluster can optionally span across. properties: attributes: additionalProperties: @@ -1152,14 +1056,19 @@ spec: description: OCICluster is the Schema for the ociclusters API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -1181,9 +1090,9 @@ spec: description: 'Name is the AD''s full name. Example: Uocm:PHX-AD-1' type: string type: object - description: 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. + description: |- + 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. type: object clientOverrides: description: ClientOverrides allows the default client SDK URLs to @@ -1191,9 +1100,9 @@ spec: nullable: true properties: certOverride: - description: 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. + description: |- + 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. nullable: true properties: name: @@ -1270,10 +1179,10 @@ spec: additionalProperties: type: string type: object - description: '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"}}`' + description: |- + 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"}}` type: object freeformTags: additionalProperties: @@ -1288,33 +1197,40 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. type: string kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object x-kubernetes-map-type: atomic @@ -1346,15 +1262,15 @@ spec: soon as current backend becomes unhealthy. properties: urlPath: - description: 'The path against which to run the - health check. Example: `/healthcheck` Default - value is `/healthz`' + description: |- + The path against which to run the health check. + Example: `/healthcheck` + Default value is `/healthz` type: string type: object isFailOpen: - description: If enabled, the network load balancer - will continue to distribute traffic in the configured - distribution in the event all backends are unhealthy. + description: |- + If enabled, the network load balancer will continue to distribute traffic in the configured distribution in the event all backends are unhealthy. The value is false by default. type: boolean isInstantFailoverEnabled: @@ -1363,27 +1279,26 @@ spec: soon as current backend becomes unhealthy. type: boolean isPreserveSource: - description: If this parameter is enabled, then the - network load balancer preserves the source IP of - the packet when it is forwarded to backends. Backends - see the original source IP. If the isPreserveSourceDestination - parameter is enabled for the network load balancer - resource, then this parameter cannot be disabled. + description: |- + If this parameter is enabled, then the network load balancer preserves the source IP of the packet when it is forwarded to backends. + Backends see the original source IP. If the isPreserveSourceDestination parameter is enabled for the network load balancer resource, then this parameter cannot be disabled. The value is false by default. type: boolean type: object type: object type: object skipNetworkManagement: - description: SkipNetworkManagement defines if the networking spec(VCN - related) specified by the user needs to be reconciled(actioned-upon) + description: |- + 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. type: boolean vcn: description: VCN configuration. properties: cidr: - description: VCN CIDR. Deprecated, please use NetworkDetails.cidrs + description: |- + VCN CIDR. + Deprecated, please use NetworkDetails.cidrs type: string cidrs: description: VCN CIDRs. @@ -1391,10 +1306,10 @@ spec: type: string type: array dnsLabel: - description: DnsLabel specifies a DNS label for the VCN, used - in conjunction with the VNIC's hostname and subnet's DNS - label to form a fully qualified domain name (FQDN) for each - VNIC within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). + description: |- + DnsLabel specifies a DNS label for the VCN, used in conjunction with the VNIC's hostname and + subnet's DNS label to form a fully qualified domain name (FQDN) for each VNIC + within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). type: string id: description: VCN OCID. @@ -1431,8 +1346,9 @@ spec: description: NetworkSecurityGroup is the configuration for the Network Security Groups required in the VCN. items: - description: NSG defines configuration for a Network - Security Group. https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/networksecuritygroups.htm + description: |- + NSG defines configuration for a Network Security Group. + https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/networksecuritygroups.htm properties: egressRules: description: EgressRules on the NSG. @@ -1449,54 +1365,39 @@ spec: your choice for the rule. type: string destination: - description: '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`.' + description: |- + 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`. type: string destinationType: - description: '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). - * `NETWORK_SECURITY_GROUP`: If the rule''s - `destination` is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) - of a NetworkSecurityGroup.' + description: |- + 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). + * `NETWORK_SECURITY_GROUP`: If the rule's `destination` is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + NetworkSecurityGroup. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -1506,45 +1407,33 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1557,12 +1446,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1572,24 +1458,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1602,12 +1482,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1637,24 +1514,16 @@ spec: your choice for the rule. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -1664,74 +1533,55 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string source: - description: '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`.' + description: |- + 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`. type: string sourceType: - description: '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). * `NETWORK_SECURITY_GROUP`: - If the rule''s `destination` is the - OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) - of a NetworkSecurityGroup.' + description: |- + 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). + * `NETWORK_SECURITY_GROUP`: If the rule's `destination` is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + NetworkSecurityGroup. type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1744,12 +1594,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1759,24 +1606,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1789,12 +1630,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1854,17 +1692,18 @@ spec: description: Subnets is the configuration for subnets required in the VCN. items: - description: 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 + description: |- + 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 properties: cidr: description: Subnet CIDR. type: string dnsLabel: - description: DnsLabel DNS label for the subnet, used - in conjunction with the VNIC's hostname and VCN's - DNS label to form a fully qualified domain name (FQDN) - for each VNIC within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). + description: |- + DnsLabel DNS label for the subnet, used in conjunction with the VNIC's hostname and + VCN's DNS label to form a fully qualified domain name (FQDN) for each VNIC + within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). type: string id: description: Subnet OCID. @@ -1890,50 +1729,39 @@ spec: choice for the rule. type: string destination: - description: '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`.' + description: |- + 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`. type: string destinationType: - description: '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). * - `NETWORK_SECURITY_GROUP`: If the rule''s - `destination` is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) - of a NetworkSecurityGroup.' + description: |- + 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). + * `NETWORK_SECURITY_GROUP`: If the rule's `destination` is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + NetworkSecurityGroup. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -1943,41 +1771,33 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -1990,11 +1810,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -2004,22 +1822,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -2032,11 +1846,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -2061,22 +1873,16 @@ spec: choice for the rule. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -2086,69 +1892,55 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string source: - description: '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`.' + description: |- + 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`. type: string sourceType: - description: '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). * `NETWORK_SECURITY_GROUP`: - If the rule''s `destination` is the OCID - (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) - of a NetworkSecurityGroup.' + description: |- + 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). + * `NETWORK_SECURITY_GROUP`: If the rule's `destination` is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + NetworkSecurityGroup. type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -2161,11 +1953,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -2175,22 +1965,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -2203,11 +1989,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -2239,76 +2023,72 @@ spec: description: VCNPeering configuration. properties: drg: - description: 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. + description: |- + 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. properties: id: description: ID is the OCID for the created DRG. type: string manage: - description: 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. + description: |- + 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. type: boolean name: description: Name is the name of the created DRG. type: string vcnAttachmentId: - description: 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. + description: |- + 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. type: string type: object peerRouteRules: - description: 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. + description: |- + 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. items: description: PeerRouteRule defines a Route Rule to be routed via a DRG. properties: vcnCIDRRange: - description: 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. + description: |- + 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. type: string type: object type: array remotePeeringConnections: - description: RemotePeeringConnections defines the RPC connections - which be established with the workload cluster DRG. + description: |- + RemotePeeringConnections defines the RPC connections which be established with the + workload cluster DRG. items: - description: 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 + description: |- + 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 properties: managePeerRPC: - description: 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. + description: |- + 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. type: boolean name: - description: A unique name identifying the RPC, please - note this is to identify the RPC from other RPC elements, - and will not be used in any OCI API call. + description: |- + A unique name identifying the RPC, please note this is to identify the RPC + from other RPC elements, and will not be used in any OCI API call. type: string peerDRGId: description: PeerDRGId defines the DRG ID of the peer. type: string peerRPCConnectionId: - description: 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. + description: |- + 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. type: string peerRegionName: description: PeerRegionName defined the region name @@ -2323,14 +2103,15 @@ spec: type: object type: object ociResourceIdentifier: - description: 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. + description: |- + 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. type: string region: - description: 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 + description: |- + 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 type: string type: object status: @@ -2343,37 +2124,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -2383,9 +2164,9 @@ spec: type: array failureDomains: additionalProperties: - description: FailureDomainSpec is the Schema for Cluster API failure - domains. It allows controllers to understand how many failure - domains a cluster can optionally span across. + description: |- + FailureDomainSpec is the Schema for Cluster API failure domains. + It allows controllers to understand how many failure domains a cluster can optionally span across. properties: attributes: additionalProperties: diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_ociclustertemplates.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_ociclustertemplates.yaml index c8ec324a1..44fdc6af7 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_ociclustertemplates.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_ociclustertemplates.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: ociclustertemplates.infrastructure.cluster.x-k8s.io spec: group: infrastructure.cluster.x-k8s.io @@ -23,14 +23,19 @@ spec: API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -67,10 +72,10 @@ spec: additionalProperties: type: string type: object - description: '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"}}`' + description: |- + 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"}}` type: object freeformTags: additionalProperties: @@ -85,34 +90,40 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead - of an entire object, this string should contain a valid - JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container - within a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that - triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this - pod). This syntax is chosen only to have some well-defined - way of referencing a part of an object. TODO: this design - is not final and this field is subject to change in - the future.' + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. type: string kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object x-kubernetes-map-type: atomic @@ -143,17 +154,16 @@ spec: unhealthy. properties: urlPath: - description: 'The path against which to - run the health check. Example: `/healthcheck` - Default value is `/healthz`' + description: |- + The path against which to run the health check. + Example: `/healthcheck` + Default value is `/healthz` type: string type: object isFailOpen: - description: If enabled, the network load - balancer will continue to distribute traffic - in the configured distribution in the event - all backends are unhealthy. The value is - false by default. + description: |- + If enabled, the network load balancer will continue to distribute traffic in the configured distribution in the event all backends are unhealthy. + The value is false by default. type: boolean isInstantFailoverEnabled: description: If enabled existing connections @@ -162,29 +172,26 @@ spec: unhealthy. type: boolean isPreserveSource: - description: If this parameter is enabled, - then the network load balancer preserves - the source IP of the packet when it is forwarded - to backends. Backends see the original source - IP. If the isPreserveSourceDestination parameter - is enabled for the network load balancer - resource, then this parameter cannot be - disabled. The value is false by default. + description: |- + If this parameter is enabled, then the network load balancer preserves the source IP of the packet when it is forwarded to backends. + Backends see the original source IP. If the isPreserveSourceDestination parameter is enabled for the network load balancer resource, then this parameter cannot be disabled. + The value is false by default. type: boolean type: object type: object type: object skipNetworkManagement: - description: 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. + description: |- + 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. type: boolean vcn: description: VCN configuration. properties: cidr: - description: VCN CIDR. Deprecated, please use NetworkDetails.cidrs + description: |- + VCN CIDR. + Deprecated, please use NetworkDetails.cidrs type: string cidrs: description: VCN CIDRs. @@ -192,11 +199,10 @@ spec: type: string type: array dnsLabel: - description: DnsLabel specifies a DNS label for the - VCN, used in conjunction with the VNIC's hostname - and subnet's DNS label to form a fully qualified - domain name (FQDN) for each VNIC within this subnet - (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). + description: |- + DnsLabel specifies a DNS label for the VCN, used in conjunction with the VNIC's hostname and + subnet's DNS label to form a fully qualified domain name (FQDN) for each VNIC + within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). type: string id: description: VCN OCID. @@ -215,8 +221,9 @@ spec: for the Network Security Groups required in the VCN. items: - description: NSG defines configuration for a Network - Security Group. https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/networksecuritygroups.htm + description: |- + NSG defines configuration for a Network Security Group. + https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/networksecuritygroups.htm properties: egressRules: description: EgressRules on the NSG. @@ -233,55 +240,37 @@ spec: of your choice for the rule. type: string destination: - description: '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`.' + description: |- + 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`. type: string destinationType: - description: '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).' + description: |- + 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). type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -291,48 +280,33 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -346,13 +320,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -363,25 +333,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -395,13 +358,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -413,9 +372,9 @@ spec: type: object type: object id: - description: 'EgressSecurityRule ID for - NSG. Deprecated: this field is not populated - and used during reconciliation' + description: |- + EgressSecurityRule ID for NSG. + Deprecated: this field is not populated and used during reconciliation type: string type: object type: array @@ -429,9 +388,9 @@ spec: IngressSecurityRule for NSG properties: id: - description: 'IngressSecurityRule ID for - NSG. Deprecated: this field is not populated - and used during reconciliation' + description: |- + IngressSecurityRule ID for NSG. + Deprecated: this field is not populated and used during reconciliation type: string ingressRule: description: IngressSecurityRule A rule @@ -442,26 +401,16 @@ spec: of your choice for the rule. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -471,77 +420,53 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string source: - description: '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`.' + description: |- + 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`. type: string sourceType: - description: '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).' + description: |- + 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). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -555,13 +480,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -572,25 +493,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -604,13 +518,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -651,18 +561,18 @@ spec: description: Subnets is the configuration for subnets required in the VCN. items: - description: 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 + description: |- + 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 properties: cidr: description: Subnet CIDR. type: string dnsLabel: - description: DnsLabel DNS label for the subnet, - used in conjunction with the VNIC's hostname - and VCN's DNS label to form a fully qualified - domain name (FQDN) for each VNIC within this - subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). + description: |- + DnsLabel DNS label for the subnet, used in conjunction with the VNIC's hostname and + VCN's DNS label to form a fully qualified domain name (FQDN) for each VNIC + within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). type: string id: description: Subnet OCID. @@ -690,55 +600,37 @@ spec: of your choice for the rule. type: string destination: - description: '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`.' + description: |- + 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`. type: string destinationType: - description: '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).' + description: |- + 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). type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -748,48 +640,33 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -803,13 +680,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -820,25 +693,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -852,13 +718,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -884,26 +746,16 @@ spec: of your choice for the rule. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -913,77 +765,53 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string source: - description: '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`.' + description: |- + 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`. type: string sourceType: - description: '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).' + description: |- + 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). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -997,13 +825,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1014,25 +838,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1046,13 +863,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1085,83 +898,73 @@ spec: description: VCNPeering configuration. properties: drg: - description: 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. + description: |- + 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. properties: id: description: ID is the OCID for the created DRG. type: string manage: - description: 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. + description: |- + 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. type: boolean name: description: Name is the name of the created DRG. type: string vcnAttachmentId: - description: 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 + description: |- + 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. type: string type: object peerRouteRules: - description: 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. + description: |- + 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. items: description: PeerRouteRule defines a Route Rule to be routed via a DRG. properties: vcnCIDRRange: - description: 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. + description: |- + 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. type: string type: object type: array remotePeeringConnections: - description: RemotePeeringConnections defines the - RPC connections which be established with the workload - cluster DRG. + description: |- + RemotePeeringConnections defines the RPC connections which be established with the + workload cluster DRG. items: - description: RemotePeeringConnection is used to - peer VCNs residing in different regions(typically). + description: |- + 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 properties: managePeerRPC: - description: 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. + description: |- + 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. type: boolean name: - description: A unique name identifying the RPC, - please note this is to identify the RPC from - other RPC elements, and will not be used in - any OCI API call. + description: |- + A unique name identifying the RPC, please note this is to identify the RPC + from other RPC elements, and will not be used in any OCI API call. type: string peerDRGId: description: PeerDRGId defines the DRG ID of the peer. type: string peerRPCConnectionId: - description: 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. + description: |- + 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. type: string peerRegionName: description: PeerRegionName defined the region @@ -1177,14 +980,15 @@ spec: type: object type: object ociResourceIdentifier: - description: 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. + description: |- + 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. type: string region: - description: 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 + description: |- + 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 type: string type: object required: @@ -1203,14 +1007,19 @@ spec: API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -1240,10 +1049,9 @@ spec: Uocm:PHX-AD-1' type: string type: object - description: 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. + description: |- + 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. type: object clientOverrides: description: ClientOverrides allows the default client SDK @@ -1251,8 +1059,8 @@ spec: nullable: true properties: certOverride: - description: CertOverride is a secret that contains information - about a cert override used by all the OCI SDK clients. + description: |- + 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. nullable: true properties: @@ -1330,10 +1138,10 @@ spec: additionalProperties: type: string type: object - description: '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"}}`' + description: |- + 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"}}` type: object freeformTags: additionalProperties: @@ -1348,34 +1156,40 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead - of an entire object, this string should contain a valid - JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container - within a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that - triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this - pod). This syntax is chosen only to have some well-defined - way of referencing a part of an object. TODO: this design - is not final and this field is subject to change in - the future.' + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. type: string kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object x-kubernetes-map-type: atomic @@ -1410,17 +1224,16 @@ spec: unhealthy. properties: urlPath: - description: 'The path against which to - run the health check. Example: `/healthcheck` - Default value is `/healthz`' + description: |- + The path against which to run the health check. + Example: `/healthcheck` + Default value is `/healthz` type: string type: object isFailOpen: - description: If enabled, the network load - balancer will continue to distribute traffic - in the configured distribution in the event - all backends are unhealthy. The value is - false by default. + description: |- + If enabled, the network load balancer will continue to distribute traffic in the configured distribution in the event all backends are unhealthy. + The value is false by default. type: boolean isInstantFailoverEnabled: description: If enabled existing connections @@ -1429,29 +1242,26 @@ spec: unhealthy. type: boolean isPreserveSource: - description: If this parameter is enabled, - then the network load balancer preserves - the source IP of the packet when it is forwarded - to backends. Backends see the original source - IP. If the isPreserveSourceDestination parameter - is enabled for the network load balancer - resource, then this parameter cannot be - disabled. The value is false by default. + description: |- + If this parameter is enabled, then the network load balancer preserves the source IP of the packet when it is forwarded to backends. + Backends see the original source IP. If the isPreserveSourceDestination parameter is enabled for the network load balancer resource, then this parameter cannot be disabled. + The value is false by default. type: boolean type: object type: object type: object skipNetworkManagement: - description: 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. + description: |- + 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. type: boolean vcn: description: VCN configuration. properties: cidr: - description: VCN CIDR. Deprecated, please use NetworkDetails.cidrs + description: |- + VCN CIDR. + Deprecated, please use NetworkDetails.cidrs type: string cidrs: description: VCN CIDRs. @@ -1459,11 +1269,10 @@ spec: type: string type: array dnsLabel: - description: DnsLabel specifies a DNS label for the - VCN, used in conjunction with the VNIC's hostname - and subnet's DNS label to form a fully qualified - domain name (FQDN) for each VNIC within this subnet - (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). + description: |- + DnsLabel specifies a DNS label for the VCN, used in conjunction with the VNIC's hostname and + subnet's DNS label to form a fully qualified domain name (FQDN) for each VNIC + within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). type: string id: description: VCN OCID. @@ -1501,8 +1310,9 @@ spec: for the Network Security Groups required in the VCN. items: - description: NSG defines configuration for a - Network Security Group. https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/networksecuritygroups.htm + description: |- + NSG defines configuration for a Network Security Group. + https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/networksecuritygroups.htm properties: egressRules: description: EgressRules on the NSG. @@ -1519,64 +1329,39 @@ spec: of your choice for the rule. type: string destination: - description: '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`.' + description: |- + 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`. type: string destinationType: - description: '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). - * `NETWORK_SECURITY_GROUP`: - If the rule''s `destination` - is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) - of a NetworkSecurityGroup.' + description: |- + 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). + * `NETWORK_SECURITY_GROUP`: If the rule's `destination` is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + NetworkSecurityGroup. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code @@ -1587,52 +1372,33 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: The transport protocol. - Specify either `all` or an IPv4 - protocol number as defined in + description: |- + 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"). + Options are supported only for ICMP ("1"), TCP ("6"), UDP ("17"), and ICMPv6 ("58"). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum @@ -1646,14 +1412,9 @@ spec: representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum @@ -1664,27 +1425,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum @@ -1698,14 +1450,9 @@ spec: representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum @@ -1736,28 +1483,16 @@ spec: of your choice for the rule. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code @@ -1768,87 +1503,55 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: The transport protocol. - Specify either `all` or an IPv4 - protocol number as defined in + description: |- + 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"). + Options are supported only for ICMP ("1"), TCP ("6"), UDP ("17"), and ICMPv6 ("58"). type: string source: - description: '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`.' + description: |- + 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`. type: string sourceType: - description: '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). - * `NETWORK_SECURITY_GROUP`: - If the rule''s `destination` - is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) - of a NetworkSecurityGroup.' + description: |- + 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). + * `NETWORK_SECURITY_GROUP`: If the rule's `destination` is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + NetworkSecurityGroup. type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum @@ -1862,14 +1565,9 @@ spec: representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum @@ -1880,27 +1578,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum @@ -1914,14 +1603,9 @@ spec: representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum @@ -1983,18 +1667,18 @@ spec: description: Subnets is the configuration for subnets required in the VCN. items: - description: 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 + description: |- + 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 properties: cidr: description: Subnet CIDR. type: string dnsLabel: - description: DnsLabel DNS label for the subnet, - used in conjunction with the VNIC's hostname - and VCN's DNS label to form a fully qualified - domain name (FQDN) for each VNIC within this - subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). + description: |- + DnsLabel DNS label for the subnet, used in conjunction with the VNIC's hostname and + VCN's DNS label to form a fully qualified domain name (FQDN) for each VNIC + within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). type: string id: description: Subnet OCID. @@ -2022,59 +1706,39 @@ spec: of your choice for the rule. type: string destination: - description: '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`.' + description: |- + 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`. type: string destinationType: - description: '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). - * `NETWORK_SECURITY_GROUP`: If the - rule''s `destination` is the OCID - (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) - of a NetworkSecurityGroup.' + description: |- + 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). + * `NETWORK_SECURITY_GROUP`: If the rule's `destination` is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + NetworkSecurityGroup. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -2084,48 +1748,33 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -2139,13 +1788,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -2156,25 +1801,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -2188,13 +1826,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -2220,26 +1854,16 @@ spec: of your choice for the rule. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -2249,80 +1873,55 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string source: - description: '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`.' + description: |- + 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`. type: string sourceType: - description: '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). * `NETWORK_SECURITY_GROUP`: - If the rule''s `destination` is - the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) - of a NetworkSecurityGroup.' + description: |- + 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). + * `NETWORK_SECURITY_GROUP`: If the rule's `destination` is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + NetworkSecurityGroup. type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -2336,13 +1935,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -2353,25 +1948,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -2385,13 +1973,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -2424,83 +2008,73 @@ spec: description: VCNPeering configuration. properties: drg: - description: 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. + description: |- + 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. properties: id: description: ID is the OCID for the created DRG. type: string manage: - description: 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. + description: |- + 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. type: boolean name: description: Name is the name of the created DRG. type: string vcnAttachmentId: - description: 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 + description: |- + 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. type: string type: object peerRouteRules: - description: 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. + description: |- + 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. items: description: PeerRouteRule defines a Route Rule to be routed via a DRG. properties: vcnCIDRRange: - description: 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. + description: |- + 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. type: string type: object type: array remotePeeringConnections: - description: RemotePeeringConnections defines the - RPC connections which be established with the workload - cluster DRG. + description: |- + RemotePeeringConnections defines the RPC connections which be established with the + workload cluster DRG. items: - description: RemotePeeringConnection is used to - peer VCNs residing in different regions(typically). + description: |- + 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 properties: managePeerRPC: - description: 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. + description: |- + 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. type: boolean name: - description: A unique name identifying the RPC, - please note this is to identify the RPC from - other RPC elements, and will not be used in - any OCI API call. + description: |- + A unique name identifying the RPC, please note this is to identify the RPC + from other RPC elements, and will not be used in any OCI API call. type: string peerDRGId: description: PeerDRGId defines the DRG ID of the peer. type: string peerRPCConnectionId: - description: 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. + description: |- + 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. type: string peerRegionName: description: PeerRegionName defined the region @@ -2516,14 +2090,15 @@ spec: type: object type: object ociResourceIdentifier: - description: 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. + description: |- + 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. type: string region: - description: 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 + description: |- + 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 type: string type: object required: diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimachinepoolmachines.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimachinepoolmachines.yaml index 4131abd3c..da9f35d4a 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimachinepoolmachines.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimachinepoolmachines.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: ocimachinepoolmachines.infrastructure.cluster.x-k8s.io spec: group: infrastructure.cluster.x-k8s.io @@ -19,14 +19,19 @@ spec: openAPIV3Schema: properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -58,37 +63,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -110,14 +115,19 @@ spec: openAPIV3Schema: properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -149,37 +159,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimachinepools.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimachinepools.yaml index f88fe94d8..df0f32f5d 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimachinepools.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimachinepools.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: ocimachinepools.infrastructure.cluster.x-k8s.io spec: group: infrastructure.cluster.x-k8s.io @@ -19,14 +19,19 @@ spec: openAPIV3Schema: properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -42,42 +47,41 @@ spec: Agent software running on the instance. properties: areAllPluginsDisabled: - description: 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). + description: |- + 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). type: boolean isManagementDisabled: - description: 'IsManagementDisabled defines whether Oracle - Cloud Agent can run all the available management plugins. + description: |- + 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.' + 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. type: boolean isMonitoringDisabled: - description: '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.' + description: |- + 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. type: boolean pluginsConfigs: description: PluginsConfig defines the configuration of plugins @@ -87,52 +91,48 @@ spec: of plugins associated with this instance. properties: desiredState: - description: '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`' + description: |- + 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` type: string name: - description: 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). + description: |- + 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). type: string type: object type: array type: object availabilityConfig: - description: 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. + description: |- + 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. properties: isLiveMigrationPreferred: - description: 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. + description: |- + 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. type: boolean recoveryAction: - description: 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. + description: |- + 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. type: string type: object capacityReservationId: - description: 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). + description: |- + 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). type: string dedicatedVmHostId: description: DedicatedVmHostId defines the OCID of the dedicated @@ -144,10 +144,10 @@ spec: description: InstanceOptions defines the instance options properties: areLegacyImdsEndpointsDisabled: - description: 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. + description: |- + 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. type: boolean type: object instanceSourceViaImageConfig: @@ -155,21 +155,21 @@ spec: for booting up instances via images properties: bootVolumeSizeInGBs: - description: The size of boot volume. Please see https://docs.oracle.com/en-us/iaas/Content/Block/Tasks/extendingbootpartition.htm + description: |- + 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. format: int64 type: integer bootVolumeVpusPerGB: - description: '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.' + description: |- + 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. format: int64 type: integer imageId: @@ -194,18 +194,18 @@ spec: have a public IP address type: boolean displayName: - description: DisplayName defines a user-friendly name. Does - not have to be unique, and it's changeable. Avoid entering - confidential information. + description: |- + DisplayName defines a user-friendly name. Does not have to be unique, and it's changeable. + Avoid entering confidential information. type: string hostnameLabel: description: HostnameLabel defines the hostname for the VNIC's primary private IP. Used for DNS. type: string nsgId: - description: NSGId defines the ID of the NSG to use. This - parameter takes priority over NsgNames. Deprecated, please - use NetworkDetails.NSGIds + description: |- + NSGId defines the ID of the NSG to use. This parameter takes priority over NsgNames. + Deprecated, please use NetworkDetails.NSGIds type: string nsgIds: description: NSGIds defines the list of NSG IDs to use. This @@ -241,23 +241,23 @@ spec: compatibility and performance of VM shapes properties: bootVolumeType: - description: 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 + description: |- + 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. type: string firmware: - description: 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. + description: |- + 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. type: string isConsistentVolumeNamingEnabled: description: IsConsistentVolumeNamingEnabled defines whether @@ -265,31 +265,31 @@ spec: false. type: boolean networkType: - description: 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. + description: |- + 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. type: string remoteDataVolumeType: - description: 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 + description: |- + 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. type: string type: object metadata: additionalProperties: type: string - description: Custom metadata key/value pairs that you provide, - such as the SSH public key required to connect to the instance. + description: |- + Custom metadata key/value pairs that you provide, such as the SSH public key + required to connect to the instance. type: object platformConfig: description: PlatformConfig defines the platform config parameters @@ -299,14 +299,14 @@ spec: platform configuration properties: areVirtualInstructionsEnabled: - description: Whether virtualization instructions are available. - For example, Secure Virtual Machine for AMD shapes or - VT-x for Intel shapes. + description: |- + Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes + or VT-x for Intel shapes. type: boolean isAccessControlServiceEnabled: - description: 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. + description: |- + 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. type: boolean isInputOutputMemoryManagementUnitEnabled: description: Whether the input-output memory management @@ -325,37 +325,35 @@ spec: description: Whether Secure Boot is enabled on the instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket (NPS). - The following values are supported: * `NPS0` * `NPS1` - * `NPS2` * `NPS4`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS0` + * `NPS1` + * `NPS2` + * `NPS4` type: string percentageOfCoresEnabled: - description: 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. + description: |- + The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage + results in a fractional number of cores, the system rounds up the number of cores across processors + and provisions an instance with a whole number of cores. + If the applications that you run on the instance use a core-based licensing model and need fewer cores + than the full size of the shape, you can disable cores to reduce your licensing costs. The instance + itself is billed for the full shape, regardless of whether all cores are enabled. type: integer type: object amdRomeBmGpuPlatformConfig: @@ -363,14 +361,14 @@ spec: platform configuration properties: areVirtualInstructionsEnabled: - description: Whether virtualization instructions are available. - For example, Secure Virtual Machine for AMD shapes or - VT-x for Intel shapes. + description: |- + Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes + or VT-x for Intel shapes. type: boolean isAccessControlServiceEnabled: - description: 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. + description: |- + 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. type: boolean isInputOutputMemoryManagementUnitEnabled: description: Whether the input-output memory management @@ -389,25 +387,26 @@ spec: description: Whether Secure Boot is enabled on the instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket (NPS). - The following values are supported: * `NPS0` * `NPS1` - * `NPS2` * `NPS4`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS0` + * `NPS1` + * `NPS2` + * `NPS4` type: string type: object amdRomeBmPlatformConfig: @@ -415,14 +414,14 @@ spec: platform configuration properties: areVirtualInstructionsEnabled: - description: Whether virtualization instructions are available. - For example, Secure Virtual Machine for AMD shapes or - VT-x for Intel shapes. + description: |- + Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes + or VT-x for Intel shapes. type: boolean isAccessControlServiceEnabled: - description: 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. + description: |- + 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. type: boolean isInputOutputMemoryManagementUnitEnabled: description: Whether the input-output memory management @@ -441,37 +440,35 @@ spec: description: Whether Secure Boot is enabled on the instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket (NPS). - The following values are supported: * `NPS0` * `NPS1` - * `NPS2` * `NPS4`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS0` + * `NPS1` + * `NPS2` + * `NPS4` type: string percentageOfCoresEnabled: - description: 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. + description: |- + The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage + results in a fractional number of cores, the system rounds up the number of cores across processors + and provisions an instance with a whole number of cores. + If the applications that you run on the instance use a core-based licensing model and need fewer cores + than the full size of the shape, you can disable cores to reduce your licensing costs. The instance + itself is billed for the full shape, regardless of whether all cores are enabled. type: integer type: object amdVmPlatformConfig: @@ -516,36 +513,33 @@ spec: description: Whether Secure Boot is enabled on the instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket (NPS). - The following values are supported: * `NPS1` * `NPS2`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS1` + * `NPS2` type: string percentageOfCoresEnabled: - description: 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. + description: |- + The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage + results in a fractional number of cores, the system rounds up the number of cores across processors + and provisions an instance with a whole number of cores. + If the applications that you run on the instance use a core-based licensing model and need fewer cores + than the full size of the shape, you can disable cores to reduce your licensing costs. The instance + itself is billed for the full shape, regardless of whether all cores are enabled. type: integer type: object intelSkylakeBmPlatformConfig: @@ -591,11 +585,16 @@ spec: type: boolean type: object platformConfigType: - description: 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 + description: |- + 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 type: string type: object preemptibleInstanceConfig: @@ -621,14 +620,13 @@ spec: for flex instances. properties: baselineOcpuUtilization: - description: '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.' + description: |- + 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. type: string memoryInGBs: description: The total amount of memory available to the instance, @@ -663,10 +661,9 @@ spec: in a provider format type: string providerIDList: - description: ProviderIDList are the identification IDs of machine - instances provided by the provider. This field must match the provider - IDs as seen on the node objects corresponding to a machine pool's - machine instances. + description: |- + ProviderIDList are the identification IDs of machine instances provided by the provider. + This field must match the provider IDs as seen on the node objects corresponding to a machine pool's machine instances. items: type: string type: array @@ -681,37 +678,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -747,14 +744,19 @@ spec: openAPIV3Schema: properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -770,42 +772,41 @@ spec: Agent software running on the instance. properties: areAllPluginsDisabled: - description: 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). + description: |- + 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). type: boolean isManagementDisabled: - description: 'IsManagementDisabled defines whether Oracle - Cloud Agent can run all the available management plugins. + description: |- + 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.' + 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. type: boolean isMonitoringDisabled: - description: '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.' + description: |- + 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. type: boolean pluginsConfigs: description: PluginsConfig defines the configuration of plugins @@ -815,52 +816,48 @@ spec: of plugins associated with this instance. properties: desiredState: - description: '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`' + description: |- + 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` type: string name: - description: 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). + description: |- + 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). type: string type: object type: array type: object availabilityConfig: - description: 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. + description: |- + 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. properties: isLiveMigrationPreferred: - description: 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. + description: |- + 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. type: boolean recoveryAction: - description: 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. + description: |- + 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. type: string type: object capacityReservationId: - description: 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). + description: |- + 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). type: string dedicatedVmHostId: description: DedicatedVmHostId defines the OCID of the dedicated @@ -872,10 +869,10 @@ spec: description: InstanceOptions defines the instance options properties: areLegacyImdsEndpointsDisabled: - description: 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. + description: |- + 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. type: boolean type: object instanceSourceViaImageConfig: @@ -883,21 +880,21 @@ spec: for booting up instances via images properties: bootVolumeSizeInGBs: - description: The size of boot volume. Please see https://docs.oracle.com/en-us/iaas/Content/Block/Tasks/extendingbootpartition.htm + description: |- + 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. format: int64 type: integer bootVolumeVpusPerGB: - description: '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.' + description: |- + 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. format: int64 type: integer imageId: @@ -922,18 +919,18 @@ spec: have a public IP address type: boolean displayName: - description: DisplayName defines a user-friendly name. Does - not have to be unique, and it's changeable. Avoid entering - confidential information. + description: |- + DisplayName defines a user-friendly name. Does not have to be unique, and it's changeable. + Avoid entering confidential information. type: string hostnameLabel: description: HostnameLabel defines the hostname for the VNIC's primary private IP. Used for DNS. type: string nsgId: - description: NSGId defines the ID of the NSG to use. This - parameter takes priority over NsgNames. Deprecated, please - use NetworkDetails.NSGIds + description: |- + NSGId defines the ID of the NSG to use. This parameter takes priority over NsgNames. + Deprecated, please use NetworkDetails.NSGIds type: string nsgIds: description: NSGIds defines the list of NSG IDs to use. This @@ -968,23 +965,23 @@ spec: compatibility and performance of VM shapes properties: bootVolumeType: - description: 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 + description: |- + 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. type: string firmware: - description: 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. + description: |- + 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. type: string isConsistentVolumeNamingEnabled: description: IsConsistentVolumeNamingEnabled defines whether @@ -992,31 +989,31 @@ spec: false. type: boolean networkType: - description: 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. + description: |- + 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. type: string remoteDataVolumeType: - description: 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 + description: |- + 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. type: string type: object metadata: additionalProperties: type: string - description: Custom metadata key/value pairs that you provide, - such as the SSH public key required to connect to the instance. + description: |- + Custom metadata key/value pairs that you provide, such as the SSH public key + required to connect to the instance. type: object platformConfig: description: PlatformConfig defines the platform config parameters @@ -1026,14 +1023,14 @@ spec: platform configuration properties: areVirtualInstructionsEnabled: - description: Whether virtualization instructions are available. - For example, Secure Virtual Machine for AMD shapes or - VT-x for Intel shapes. + description: |- + Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes + or VT-x for Intel shapes. type: boolean isAccessControlServiceEnabled: - description: 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. + description: |- + 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. type: boolean isInputOutputMemoryManagementUnitEnabled: description: Whether the input-output memory management @@ -1052,37 +1049,35 @@ spec: description: Whether Secure Boot is enabled on the instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket (NPS). - The following values are supported: * `NPS0` * `NPS1` - * `NPS2` * `NPS4`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS0` + * `NPS1` + * `NPS2` + * `NPS4` type: string percentageOfCoresEnabled: - description: 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. + description: |- + The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage + results in a fractional number of cores, the system rounds up the number of cores across processors + and provisions an instance with a whole number of cores. + If the applications that you run on the instance use a core-based licensing model and need fewer cores + than the full size of the shape, you can disable cores to reduce your licensing costs. The instance + itself is billed for the full shape, regardless of whether all cores are enabled. type: integer type: object amdRomeBmGpuPlatformConfig: @@ -1090,14 +1085,14 @@ spec: platform configuration properties: areVirtualInstructionsEnabled: - description: Whether virtualization instructions are available. - For example, Secure Virtual Machine for AMD shapes or - VT-x for Intel shapes. + description: |- + Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes + or VT-x for Intel shapes. type: boolean isAccessControlServiceEnabled: - description: 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. + description: |- + 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. type: boolean isInputOutputMemoryManagementUnitEnabled: description: Whether the input-output memory management @@ -1116,25 +1111,26 @@ spec: description: Whether Secure Boot is enabled on the instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket (NPS). - The following values are supported: * `NPS0` * `NPS1` - * `NPS2` * `NPS4`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS0` + * `NPS1` + * `NPS2` + * `NPS4` type: string type: object amdRomeBmPlatformConfig: @@ -1142,14 +1138,14 @@ spec: platform configuration properties: areVirtualInstructionsEnabled: - description: Whether virtualization instructions are available. - For example, Secure Virtual Machine for AMD shapes or - VT-x for Intel shapes. + description: |- + Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes + or VT-x for Intel shapes. type: boolean isAccessControlServiceEnabled: - description: 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. + description: |- + 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. type: boolean isInputOutputMemoryManagementUnitEnabled: description: Whether the input-output memory management @@ -1168,37 +1164,35 @@ spec: description: Whether Secure Boot is enabled on the instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket (NPS). - The following values are supported: * `NPS0` * `NPS1` - * `NPS2` * `NPS4`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS0` + * `NPS1` + * `NPS2` + * `NPS4` type: string percentageOfCoresEnabled: - description: 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. + description: |- + The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage + results in a fractional number of cores, the system rounds up the number of cores across processors + and provisions an instance with a whole number of cores. + If the applications that you run on the instance use a core-based licensing model and need fewer cores + than the full size of the shape, you can disable cores to reduce your licensing costs. The instance + itself is billed for the full shape, regardless of whether all cores are enabled. type: integer type: object amdVmPlatformConfig: @@ -1243,36 +1237,33 @@ spec: description: Whether Secure Boot is enabled on the instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket (NPS). - The following values are supported: * `NPS1` * `NPS2`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS1` + * `NPS2` type: string percentageOfCoresEnabled: - description: 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. + description: |- + The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage + results in a fractional number of cores, the system rounds up the number of cores across processors + and provisions an instance with a whole number of cores. + If the applications that you run on the instance use a core-based licensing model and need fewer cores + than the full size of the shape, you can disable cores to reduce your licensing costs. The instance + itself is billed for the full shape, regardless of whether all cores are enabled. type: integer type: object intelSkylakeBmPlatformConfig: @@ -1318,11 +1309,16 @@ spec: type: boolean type: object platformConfigType: - description: 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 + description: |- + 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 type: string type: object preemptibleInstanceConfig: @@ -1348,14 +1344,13 @@ spec: for flex instances. properties: baselineOcpuUtilization: - description: '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.' + description: |- + 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. type: string memoryInGBs: description: The total amount of memory available to the instance, @@ -1390,10 +1385,9 @@ spec: in a provider format type: string providerIDList: - description: ProviderIDList are the identification IDs of machine - instances provided by the provider. This field must match the provider - IDs as seen on the node objects corresponding to a machine pool's - machine instances. + description: |- + ProviderIDList are the identification IDs of machine instances provided by the provider. + This field must match the provider IDs as seen on the node objects corresponding to a machine pool's machine instances. items: type: string type: array @@ -1408,37 +1402,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimachines.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimachines.yaml index daddc19a9..a36b8b833 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimachines.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimachines.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: ocimachines.infrastructure.cluster.x-k8s.io spec: group: infrastructure.cluster.x-k8s.io @@ -20,20 +20,26 @@ spec: description: OCIMachine is the Schema for the ocimachines API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: - description: OCIMachineSpec defines the desired state of OCIMachine Please - read the API https://docs.oracle.com/en-us/iaas/api/#/en/iaas/20160918/Instance/LaunchInstance + description: |- + 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 properties: agentConfig: @@ -41,40 +47,41 @@ spec: Agent software running on the instance. properties: areAllPluginsDisabled: - description: 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). + description: |- + 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). type: boolean isManagementDisabled: - description: '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.' + description: |- + 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. type: boolean isMonitoringDisabled: - description: '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.' + description: |- + 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. type: boolean pluginsConfigs: description: PluginsConfig defines the configuration of plugins @@ -84,63 +91,61 @@ spec: of plugins associated with this instance. properties: desiredState: - description: '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`' + description: |- + 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` type: string name: - description: 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). + description: |- + 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). type: string type: object type: array type: object availabilityConfig: - description: 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. + description: |- + 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. properties: isLiveMigrationPreferred: - description: 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. + description: |- + 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. type: boolean recoveryAction: - description: 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. + description: |- + 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. type: string type: object bootVolumeSizeInGBs: - description: The size of boot volume. Please see https://docs.oracle.com/en-us/iaas/Content/Block/Tasks/extendingbootpartition.htm + description: |- + 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. type: string capacityReservationId: - description: 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). + description: |- + 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). type: string compartmentId: description: Compartment to launch the instance in. type: string computeClusterId: - description: ComputeClusterId refers to OCID of the compute cluster - that the instance will be created in. Please refer https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/compute-clusters.htm - for more details + description: |- + ComputeClusterId refers to OCID of the compute cluster that the instance will be created in. + Please refer https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/compute-clusters.htm for more details type: string dedicatedVmHostId: description: DedicatedVmHostId defines the OCID of the dedicated VM @@ -151,10 +156,10 @@ spec: additionalProperties: type: string type: object - description: '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"}}`' + description: |- + 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"}}` type: object freeformTags: additionalProperties: @@ -171,9 +176,10 @@ spec: description: InstanceOptions defines the instance options properties: areLegacyImdsEndpointsDisabled: - description: 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. + description: |- + 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. type: boolean type: object instanceSourceViaImageConfig: @@ -181,15 +187,15 @@ spec: booting up instances via images properties: bootVolumeVpusPerGB: - description: '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.' + description: |- + 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. format: int64 type: integer kmsKeyId: @@ -209,43 +215,46 @@ spec: and performance of VM shapes properties: bootVolumeType: - description: 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. + description: |- + 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. type: string firmware: - description: 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. + description: |- + 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. type: string isConsistentVolumeNamingEnabled: description: IsConsistentVolumeNamingEnabled defines whether to enable consistent volume naming feature. Defaults to false. type: boolean networkType: - description: 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. + description: |- + 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. type: string remoteDataVolumeType: - description: 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. + description: |- + 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. type: string type: object launchVolumeAttachments: @@ -261,11 +270,13 @@ spec: for a given instance, see ListInstanceDevices. type: string displayName: - description: A user-friendly name. Does not have to be unique, - and it's changeable. Avoid entering confidential information. + description: |- + A user-friendly name. Does not have to be unique, and it's changeable. + Avoid entering confidential information. type: string encryptionInTransitType: - description: Refer the top-level definition of encryptionInTransitType. + description: |- + Refer the top-level definition of encryptionInTransitType. The default value is NONE. type: string isAgentAutoIscsiLoginEnabled: @@ -278,44 +289,45 @@ spec: mode. type: boolean isShareable: - description: Whether the attachment should be created in - shareable mode. If an attachment is created in shareable - mode, then other instances can attach the same volume, - provided that they also create their attachments in shareable - mode. Only certain volume types can be attached in shareable - mode. Defaults to false if not specified. + description: |- + Whether the attachment should be created in shareable mode. If an attachment + is created in shareable mode, then other instances can attach the same volume, provided + that they also create their attachments in shareable mode. Only certain volume types can + be attached in shareable mode. Defaults to false if not specified. type: boolean launchCreateVolumeFromAttributes: description: LaunchCreateVolumeFromAttributes The details of the volume to create for CreateVolume operation. properties: compartmentId: - description: The OCID of the compartment that contains - the volume. If not provided, it will be inherited - from the instance. + description: |- + The OCID of the compartment that contains the volume. If not provided, + it will be inherited from the instance. type: string displayName: - description: A user-friendly name. Does not have to - be unique, and it's changeable. Avoid entering confidential - information. + description: |- + A user-friendly name. Does not have to be unique, and it's changeable. + Avoid entering confidential information. type: string kmsKeyId: - description: The OCID of the Vault service key to assign - as the master encryption key for the volume. + description: |- + The OCID of the Vault service key to assign as the master encryption key + for the volume. type: string sizeInGBs: description: The size of the volume in GBs. format: int64 type: integer vpusPerGB: - description: '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: * `0`: Represents - Lower Cost option. * `10`: Represents Balanced option. - * `20`: Represents Higher Performance option. * `30`-`120`: - Represents the Ultra High Performance option.' + description: |- + 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: + * `0`: Represents Lower Cost option. + * `10`: Represents Balanced option. + * `20`: Represents Higher Performance option. + * `30`-`120`: Represents the Ultra High Performance option. format: int64 type: integer type: object @@ -336,8 +348,9 @@ spec: metadata: additionalProperties: type: string - description: Custom metadata key/value pairs that you provide, such - as the SSH public key required to connect to the instance. + description: |- + Custom metadata key/value pairs that you provide, such as the SSH public key + required to connect to the instance. type: object networkDetails: description: NetworkDetails defines the configuration options for @@ -352,17 +365,18 @@ spec: have a public IP address type: boolean displayName: - description: DisplayName defines a user-friendly name. Does not - have to be unique, and it's changeable. Avoid entering confidential - information. + description: |- + DisplayName defines a user-friendly name. Does not have to be unique, and it's changeable. + Avoid entering confidential information. type: string hostnameLabel: description: HostnameLabel defines the hostname for the VNIC's primary private IP. Used for DNS. type: string nsgId: - description: NSGId defines the ID of the NSG to use. This parameter - takes priority over NsgNames. Deprecated, please use NetworkDetails.NSGIds + description: |- + NSGId defines the ID of the NSG to use. This parameter takes priority over NsgNames. + Deprecated, please use NetworkDetails.NSGIds type: string nsgIds: description: NSGIds defines the list of NSG IDs to use. This parameter @@ -390,10 +404,11 @@ spec: type: string type: object nsgName: - description: 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. Deprecated, - please use NetworkDetails.NSGNames + description: |- + 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. + Deprecated, please use NetworkDetails.NSGNames type: string platformConfig: description: PlatformConfig defines the platform config parameters @@ -403,14 +418,14 @@ spec: configuration properties: areVirtualInstructionsEnabled: - description: Whether virtualization instructions are available. - For example, Secure Virtual Machine for AMD shapes or VT-x - for Intel shapes. + description: |- + Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes + or VT-x for Intel shapes. type: boolean isAccessControlServiceEnabled: - description: 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. + description: |- + 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. type: boolean isInputOutputMemoryManagementUnitEnabled: description: Whether the input-output memory management unit @@ -429,36 +444,35 @@ spec: description: Whether Secure Boot is enabled on the instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket (NPS). The - following values are supported: * `NPS0` * `NPS1` * `NPS2` - * `NPS4`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS0` + * `NPS1` + * `NPS2` + * `NPS4` type: string percentageOfCoresEnabled: - description: 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. + description: |- + The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage + results in a fractional number of cores, the system rounds up the number of cores across processors + and provisions an instance with a whole number of cores. + If the applications that you run on the instance use a core-based licensing model and need fewer cores + than the full size of the shape, you can disable cores to reduce your licensing costs. The instance + itself is billed for the full shape, regardless of whether all cores are enabled. type: integer type: object amdRomeBmGpuPlatformConfig: @@ -466,14 +480,14 @@ spec: configuration properties: areVirtualInstructionsEnabled: - description: Whether virtualization instructions are available. - For example, Secure Virtual Machine for AMD shapes or VT-x - for Intel shapes. + description: |- + Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes + or VT-x for Intel shapes. type: boolean isAccessControlServiceEnabled: - description: 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. + description: |- + 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. type: boolean isInputOutputMemoryManagementUnitEnabled: description: Whether the input-output memory management unit @@ -492,24 +506,26 @@ spec: description: Whether Secure Boot is enabled on the instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket (NPS). The - following values are supported: * `NPS0` * `NPS1` * `NPS2` - * `NPS4`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS0` + * `NPS1` + * `NPS2` + * `NPS4` type: string type: object amdRomeBmPlatformConfig: @@ -517,14 +533,14 @@ spec: configuration properties: areVirtualInstructionsEnabled: - description: Whether virtualization instructions are available. - For example, Secure Virtual Machine for AMD shapes or VT-x - for Intel shapes. + description: |- + Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes + or VT-x for Intel shapes. type: boolean isAccessControlServiceEnabled: - description: 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. + description: |- + 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. type: boolean isInputOutputMemoryManagementUnitEnabled: description: Whether the input-output memory management unit @@ -543,36 +559,35 @@ spec: description: Whether Secure Boot is enabled on the instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket (NPS). The - following values are supported: * `NPS0` * `NPS1` * `NPS2` - * `NPS4`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS0` + * `NPS1` + * `NPS2` + * `NPS4` type: string percentageOfCoresEnabled: - description: 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. + description: |- + The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage + results in a fractional number of cores, the system rounds up the number of cores across processors + and provisions an instance with a whole number of cores. + If the applications that you run on the instance use a core-based licensing model and need fewer cores + than the full size of the shape, you can disable cores to reduce your licensing costs. The instance + itself is billed for the full shape, regardless of whether all cores are enabled. type: integer type: object amdVmPlatformConfig: @@ -617,35 +632,33 @@ spec: description: Whether Secure Boot is enabled on the instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket (NPS). The - following values are supported: * `NPS1` * `NPS2`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS1` + * `NPS2` type: string percentageOfCoresEnabled: - description: 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. + description: |- + The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage + results in a fractional number of cores, the system rounds up the number of cores across processors + and provisions an instance with a whole number of cores. + If the applications that you run on the instance use a core-based licensing model and need fewer cores + than the full size of the shape, you can disable cores to reduce your licensing costs. The instance + itself is billed for the full shape, regardless of whether all cores are enabled. type: integer type: object intelSkylakeBmPlatformConfig: @@ -691,11 +704,16 @@ spec: type: boolean type: object platformConfigType: - description: 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 + description: |- + 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 type: string type: object preemptibleInstanceConfig: @@ -715,18 +733,19 @@ spec: type: object type: object preserveBootVolume: - description: Specifies whether to delete or preserve the boot volume - when terminating an instance. When set to true, the boot volume - is preserved. The default value is false. + description: |- + Specifies whether to delete or preserve the boot volume when terminating an instance. + When set to true, the boot volume is preserved. The default value is false. type: boolean preserveDataVolumesCreatedAtLaunch: - description: Specifies whether to delete or preserve the data volumes - created during launch when terminating an instance. When set to - true, the data volumes are preserved. The default value is true. + description: |- + Specifies whether to delete or preserve the data volumes created during launch when + terminating an instance. When set to true, the data volumes are preserved. The default value is true. type: boolean providerID: - description: Provider ID of the instance, this will be set by Cluster - API provider itself, users should not set this parameter. + description: |- + Provider ID of the instance, this will be set by Cluster API provider itself, + users should not set this parameter. type: string shape: description: Shape of the instance. @@ -736,13 +755,13 @@ spec: flex instances. properties: baselineOcpuUtilization: - description: '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.' + description: |- + 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. type: string memoryInGBs: description: The total amount of memory available to the instance, @@ -757,14 +776,15 @@ spec: type: string type: object subnetName: - description: 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. + description: |- + 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. type: string vnicAttachments: - description: 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. + description: |- + 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. items: properties: assignPublicIp: @@ -772,17 +792,20 @@ spec: have a public IP address type: boolean displayName: - description: DisplayName defines a user-friendly name. Does - not have to be unique. Avoid entering confidential information. + description: |- + DisplayName defines a user-friendly name. Does not have to be unique. + Avoid entering confidential information. type: string nicIndex: - description: 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 + description: |- + 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 type: integer subnetName: - description: SubnetName defines the subnet name to use for the - VNIC Defaults to the "worker" subnet if not provided + description: |- + SubnetName defines the subnet name to use for the VNIC + Defaults to the "worker" subnet if not provided type: string vnicAttachmentId: description: VnicAttachmentId defines the ID of the VnicAttachment @@ -821,37 +844,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -889,20 +912,26 @@ spec: description: OCIMachine is the Schema for the ocimachines API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: - description: OCIMachineSpec defines the desired state of OCIMachine Please - read the API https://docs.oracle.com/en-us/iaas/api/#/en/iaas/20160918/Instance/LaunchInstance + description: |- + 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 properties: agentConfig: @@ -910,40 +939,41 @@ spec: Agent software running on the instance. properties: areAllPluginsDisabled: - description: 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). + description: |- + 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). type: boolean isManagementDisabled: - description: '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.' + description: |- + 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. type: boolean isMonitoringDisabled: - description: '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.' + description: |- + 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. type: boolean pluginsConfigs: description: PluginsConfig defines the configuration of plugins @@ -953,63 +983,61 @@ spec: of plugins associated with this instance. properties: desiredState: - description: '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`' + description: |- + 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` type: string name: - description: 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). + description: |- + 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). type: string type: object type: array type: object availabilityConfig: - description: 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. + description: |- + 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. properties: isLiveMigrationPreferred: - description: 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. + description: |- + 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. type: boolean recoveryAction: - description: 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. + description: |- + 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. type: string type: object bootVolumeSizeInGBs: - description: The size of boot volume. Please see https://docs.oracle.com/en-us/iaas/Content/Block/Tasks/extendingbootpartition.htm + description: |- + 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. type: string capacityReservationId: - description: 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). + description: |- + 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). type: string compartmentId: description: Compartment to launch the instance in. type: string computeClusterId: - description: ComputeClusterId refers to OCID of the compute cluster - that the instance will be created in. Please refer https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/compute-clusters.htm - for more details + description: |- + ComputeClusterId refers to OCID of the compute cluster that the instance will be created in. + Please refer https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/compute-clusters.htm for more details type: string dedicatedVmHostId: description: DedicatedVmHostId defines the OCID of the dedicated VM @@ -1020,10 +1048,10 @@ spec: additionalProperties: type: string type: object - description: '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"}}`' + description: |- + 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"}}` type: object freeformTags: additionalProperties: @@ -1040,9 +1068,10 @@ spec: description: InstanceOptions defines the instance options properties: areLegacyImdsEndpointsDisabled: - description: 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. + description: |- + 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. type: boolean type: object instanceSourceViaImageConfig: @@ -1050,15 +1079,15 @@ spec: booting up instances via images properties: bootVolumeVpusPerGB: - description: '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.' + description: |- + 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. format: int64 type: integer kmsKeyId: @@ -1078,43 +1107,46 @@ spec: and performance of VM shapes properties: bootVolumeType: - description: 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. + description: |- + 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. type: string firmware: - description: 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. + description: |- + 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. type: string isConsistentVolumeNamingEnabled: description: IsConsistentVolumeNamingEnabled defines whether to enable consistent volume naming feature. Defaults to false. type: boolean networkType: - description: 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. + description: |- + 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. type: string remoteDataVolumeType: - description: 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. + description: |- + 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. type: string type: object launchVolumeAttachments: @@ -1132,11 +1164,13 @@ spec: for a given instance, see ListInstanceDevices. type: string displayName: - description: A user-friendly name. Does not have to be unique, - and it's changeable. Avoid entering confidential information. + description: |- + A user-friendly name. Does not have to be unique, and it's changeable. + Avoid entering confidential information. type: string encryptionInTransitType: - description: Refer the top-level definition of encryptionInTransitType. + description: |- + Refer the top-level definition of encryptionInTransitType. The default value is NONE. type: string isAgentAutoIscsiLoginEnabled: @@ -1149,44 +1183,45 @@ spec: mode. type: boolean isShareable: - description: Whether the attachment should be created in - shareable mode. If an attachment is created in shareable - mode, then other instances can attach the same volume, - provided that they also create their attachments in shareable - mode. Only certain volume types can be attached in shareable - mode. Defaults to false if not specified. + description: |- + Whether the attachment should be created in shareable mode. If an attachment + is created in shareable mode, then other instances can attach the same volume, provided + that they also create their attachments in shareable mode. Only certain volume types can + be attached in shareable mode. Defaults to false if not specified. type: boolean launchCreateVolumeFromAttributes: description: LaunchCreateVolumeFromAttributes The details of the volume to create for CreateVolume operation. properties: compartmentId: - description: The OCID of the compartment that contains - the volume. If not provided, it will be inherited - from the instance. + description: |- + The OCID of the compartment that contains the volume. If not provided, + it will be inherited from the instance. type: string displayName: - description: A user-friendly name. Does not have to - be unique, and it's changeable. Avoid entering confidential - information. + description: |- + A user-friendly name. Does not have to be unique, and it's changeable. + Avoid entering confidential information. type: string kmsKeyId: - description: The OCID of the Vault service key to assign - as the master encryption key for the volume. + description: |- + The OCID of the Vault service key to assign as the master encryption key + for the volume. type: string sizeInGBs: description: The size of the volume in GBs. format: int64 type: integer vpusPerGB: - description: '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: * `0`: Represents - Lower Cost option. * `10`: Represents Balanced option. - * `20`: Represents Higher Performance option. * `30`-`120`: - Represents the Ultra High Performance option.' + description: |- + 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: + * `0`: Represents Lower Cost option. + * `10`: Represents Balanced option. + * `20`: Represents Higher Performance option. + * `30`-`120`: Represents the Ultra High Performance option. format: int64 type: integer type: object @@ -1207,8 +1242,9 @@ spec: metadata: additionalProperties: type: string - description: Custom metadata key/value pairs that you provide, such - as the SSH public key required to connect to the instance. + description: |- + Custom metadata key/value pairs that you provide, such as the SSH public key + required to connect to the instance. type: object networkDetails: description: NetworkDetails defines the configuration options for @@ -1223,17 +1259,18 @@ spec: have a public IP address type: boolean displayName: - description: DisplayName defines a user-friendly name. Does not - have to be unique, and it's changeable. Avoid entering confidential - information. + description: |- + DisplayName defines a user-friendly name. Does not have to be unique, and it's changeable. + Avoid entering confidential information. type: string hostnameLabel: description: HostnameLabel defines the hostname for the VNIC's primary private IP. Used for DNS. type: string nsgId: - description: NSGId defines the ID of the NSG to use. This parameter - takes priority over NsgNames. Deprecated, please use NetworkDetails.NSGIds + description: |- + NSGId defines the ID of the NSG to use. This parameter takes priority over NsgNames. + Deprecated, please use NetworkDetails.NSGIds type: string nsgIds: description: NSGIds defines the list of NSG IDs to use. This parameter @@ -1268,14 +1305,14 @@ spec: configuration properties: areVirtualInstructionsEnabled: - description: Whether virtualization instructions are available. - For example, Secure Virtual Machine for AMD shapes or VT-x - for Intel shapes. + description: |- + Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes + or VT-x for Intel shapes. type: boolean isAccessControlServiceEnabled: - description: 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. + description: |- + 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. type: boolean isInputOutputMemoryManagementUnitEnabled: description: Whether the input-output memory management unit @@ -1294,36 +1331,35 @@ spec: description: Whether Secure Boot is enabled on the instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket (NPS). The - following values are supported: * `NPS0` * `NPS1` * `NPS2` - * `NPS4`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS0` + * `NPS1` + * `NPS2` + * `NPS4` type: string percentageOfCoresEnabled: - description: 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. + description: |- + The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage + results in a fractional number of cores, the system rounds up the number of cores across processors + and provisions an instance with a whole number of cores. + If the applications that you run on the instance use a core-based licensing model and need fewer cores + than the full size of the shape, you can disable cores to reduce your licensing costs. The instance + itself is billed for the full shape, regardless of whether all cores are enabled. type: integer type: object amdRomeBmGpuPlatformConfig: @@ -1331,14 +1367,14 @@ spec: configuration properties: areVirtualInstructionsEnabled: - description: Whether virtualization instructions are available. - For example, Secure Virtual Machine for AMD shapes or VT-x - for Intel shapes. + description: |- + Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes + or VT-x for Intel shapes. type: boolean isAccessControlServiceEnabled: - description: 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. + description: |- + 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. type: boolean isInputOutputMemoryManagementUnitEnabled: description: Whether the input-output memory management unit @@ -1357,24 +1393,26 @@ spec: description: Whether Secure Boot is enabled on the instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket (NPS). The - following values are supported: * `NPS0` * `NPS1` * `NPS2` - * `NPS4`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS0` + * `NPS1` + * `NPS2` + * `NPS4` type: string type: object amdRomeBmPlatformConfig: @@ -1382,14 +1420,14 @@ spec: configuration properties: areVirtualInstructionsEnabled: - description: Whether virtualization instructions are available. - For example, Secure Virtual Machine for AMD shapes or VT-x - for Intel shapes. + description: |- + Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes + or VT-x for Intel shapes. type: boolean isAccessControlServiceEnabled: - description: 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. + description: |- + 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. type: boolean isInputOutputMemoryManagementUnitEnabled: description: Whether the input-output memory management unit @@ -1408,36 +1446,35 @@ spec: description: Whether Secure Boot is enabled on the instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket (NPS). The - following values are supported: * `NPS0` * `NPS1` * `NPS2` - * `NPS4`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS0` + * `NPS1` + * `NPS2` + * `NPS4` type: string percentageOfCoresEnabled: - description: 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. + description: |- + The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage + results in a fractional number of cores, the system rounds up the number of cores across processors + and provisions an instance with a whole number of cores. + If the applications that you run on the instance use a core-based licensing model and need fewer cores + than the full size of the shape, you can disable cores to reduce your licensing costs. The instance + itself is billed for the full shape, regardless of whether all cores are enabled. type: integer type: object amdVmPlatformConfig: @@ -1482,35 +1519,33 @@ spec: description: Whether Secure Boot is enabled on the instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket (NPS). The - following values are supported: * `NPS1` * `NPS2`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS1` + * `NPS2` type: string percentageOfCoresEnabled: - description: 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. + description: |- + The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage + results in a fractional number of cores, the system rounds up the number of cores across processors + and provisions an instance with a whole number of cores. + If the applications that you run on the instance use a core-based licensing model and need fewer cores + than the full size of the shape, you can disable cores to reduce your licensing costs. The instance + itself is billed for the full shape, regardless of whether all cores are enabled. type: integer type: object intelSkylakeBmPlatformConfig: @@ -1556,11 +1591,16 @@ spec: type: boolean type: object platformConfigType: - description: 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 + description: |- + 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 type: string type: object preemptibleInstanceConfig: @@ -1580,18 +1620,19 @@ spec: type: object type: object preserveBootVolume: - description: Specifies whether to delete or preserve the boot volume - when terminating an instance. When set to true, the boot volume - is preserved. The default value is false. + description: |- + Specifies whether to delete or preserve the boot volume when terminating an instance. + When set to true, the boot volume is preserved. The default value is false. type: boolean preserveDataVolumesCreatedAtLaunch: - description: Specifies whether to delete or preserve the data volumes - created during launch when terminating an instance. When set to - true, the data volumes are preserved. The default value is true. + description: |- + Specifies whether to delete or preserve the data volumes created during launch when + terminating an instance. When set to true, the data volumes are preserved. The default value is true. type: boolean providerID: - description: Provider ID of the instance, this will be set by Cluster - API provider itself, users should not set this parameter. + description: |- + Provider ID of the instance, this will be set by Cluster API provider itself, + users should not set this parameter. type: string shape: description: Shape of the instance. @@ -1601,13 +1642,13 @@ spec: flex instances. properties: baselineOcpuUtilization: - description: '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.' + description: |- + 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. type: string memoryInGBs: description: The total amount of memory available to the instance, @@ -1622,14 +1663,15 @@ spec: type: string type: object subnetName: - description: 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. + description: |- + 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. type: string vnicAttachments: - description: 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. + description: |- + 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. items: properties: assignPublicIp: @@ -1637,17 +1679,20 @@ spec: have a public IP address type: boolean displayName: - description: DisplayName defines a user-friendly name. Does - not have to be unique. Avoid entering confidential information. + description: |- + DisplayName defines a user-friendly name. Does not have to be unique. + Avoid entering confidential information. type: string nicIndex: - description: 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 + description: |- + 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 type: integer subnetName: - description: SubnetName defines the subnet name to use for the - VNIC Defaults to the "worker" subnet if not provided + description: |- + SubnetName defines the subnet name to use for the VNIC + Defaults to the "worker" subnet if not provided type: string vnicAttachmentId: description: VnicAttachmentId defines the ID of the VnicAttachment @@ -1686,37 +1731,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimachinetemplates.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimachinetemplates.yaml index 3f209fac7..3ca2e4b45 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimachinetemplates.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimachinetemplates.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: ocimachinetemplates.infrastructure.cluster.x-k8s.io spec: group: infrastructure.cluster.x-k8s.io @@ -23,14 +23,19 @@ spec: machine template. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -50,43 +55,41 @@ spec: Cloud Agent software running on the instance. properties: areAllPluginsDisabled: - description: 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). + description: |- + 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). type: boolean isManagementDisabled: - description: 'IsManagementDisabled defines whether Oracle - Cloud Agent can run all the available management plugins. + description: |- + 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.' + 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. type: boolean isMonitoringDisabled: - description: '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.' + description: |- + 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. type: boolean pluginsConfigs: description: PluginsConfig defines the configuration of @@ -96,67 +99,61 @@ spec: of plugins associated with this instance. properties: desiredState: - description: '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`' + description: |- + 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` type: string name: - description: 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). + description: |- + 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). type: string type: object type: array type: object availabilityConfig: - description: 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. + description: |- + 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. properties: isLiveMigrationPreferred: - description: 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. + description: |- + 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. type: boolean recoveryAction: - description: 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. + description: |- + 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. type: string type: object bootVolumeSizeInGBs: - description: The size of boot volume. Please see https://docs.oracle.com/en-us/iaas/Content/Block/Tasks/extendingbootpartition.htm + description: |- + 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. type: string capacityReservationId: - description: 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). + description: |- + 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). type: string compartmentId: description: Compartment to launch the instance in. type: string computeClusterId: - description: ComputeClusterId refers to OCID of the compute - cluster that the instance will be created in. Please refer - https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/compute-clusters.htm - for more details + description: |- + ComputeClusterId refers to OCID of the compute cluster that the instance will be created in. + Please refer https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/compute-clusters.htm for more details type: string dedicatedVmHostId: description: DedicatedVmHostId defines the OCID of the dedicated @@ -167,10 +164,10 @@ spec: additionalProperties: type: string type: object - description: '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"}}`' + description: |- + 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"}}` type: object freeformTags: additionalProperties: @@ -187,10 +184,10 @@ spec: description: InstanceOptions defines the instance options properties: areLegacyImdsEndpointsDisabled: - description: 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. + description: |- + 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. type: boolean type: object instanceSourceViaImageConfig: @@ -198,17 +195,15 @@ spec: for booting up instances via images properties: bootVolumeVpusPerGB: - description: '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.' + description: |- + 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. format: int64 type: integer kmsKeyId: @@ -229,24 +224,23 @@ spec: the compatibility and performance of VM shapes properties: bootVolumeType: - description: 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. + description: |- + 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. type: string firmware: - description: 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. + description: |- + 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. type: string isConsistentVolumeNamingEnabled: description: IsConsistentVolumeNamingEnabled defines whether @@ -254,24 +248,23 @@ spec: to false. type: boolean networkType: - description: 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. + description: |- + 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. type: string remoteDataVolumeType: - description: 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. + description: |- + 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. type: string type: object launchVolumeAttachments: @@ -287,12 +280,13 @@ spec: of devices for a given instance, see ListInstanceDevices. type: string displayName: - description: A user-friendly name. Does not have - to be unique, and it's changeable. Avoid entering - confidential information. + description: |- + A user-friendly name. Does not have to be unique, and it's changeable. + Avoid entering confidential information. type: string encryptionInTransitType: - description: Refer the top-level definition of encryptionInTransitType. + description: |- + Refer the top-level definition of encryptionInTransitType. The default value is NONE. type: string isAgentAutoIscsiLoginEnabled: @@ -306,13 +300,11 @@ spec: in read-only mode. type: boolean isShareable: - description: Whether the attachment should be created - in shareable mode. If an attachment is created - in shareable mode, then other instances can attach - the same volume, provided that they also create - their attachments in shareable mode. Only certain - volume types can be attached in shareable mode. - Defaults to false if not specified. + description: |- + Whether the attachment should be created in shareable mode. If an attachment + is created in shareable mode, then other instances can attach the same volume, provided + that they also create their attachments in shareable mode. Only certain volume types can + be attached in shareable mode. Defaults to false if not specified. type: boolean launchCreateVolumeFromAttributes: description: LaunchCreateVolumeFromAttributes The @@ -320,35 +312,34 @@ spec: operation. properties: compartmentId: - description: The OCID of the compartment that - contains the volume. If not provided, it will - be inherited from the instance. + description: |- + The OCID of the compartment that contains the volume. If not provided, + it will be inherited from the instance. type: string displayName: - description: A user-friendly name. Does not - have to be unique, and it's changeable. Avoid - entering confidential information. + description: |- + A user-friendly name. Does not have to be unique, and it's changeable. + Avoid entering confidential information. type: string kmsKeyId: - description: The OCID of the Vault service key - to assign as the master encryption key for - the volume. + description: |- + The OCID of the Vault service key to assign as the master encryption key + for the volume. type: string sizeInGBs: description: The size of the volume in GBs. format: int64 type: integer vpusPerGB: - description: '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: * `0`: - Represents Lower Cost option. * `10`: Represents - Balanced option. * `20`: Represents Higher - Performance option. * `30`-`120`: Represents - the Ultra High Performance option.' + description: |- + 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: + * `0`: Represents Lower Cost option. + * `10`: Represents Balanced option. + * `20`: Represents Higher Performance option. + * `30`-`120`: Represents the Ultra High Performance option. format: int64 type: integer type: object @@ -370,8 +361,9 @@ spec: metadata: additionalProperties: type: string - description: Custom metadata key/value pairs that you provide, - such as the SSH public key required to connect to the instance. + description: |- + Custom metadata key/value pairs that you provide, such as the SSH public key + required to connect to the instance. type: object networkDetails: description: NetworkDetails defines the configuration options @@ -386,18 +378,18 @@ spec: should have a public IP address type: boolean displayName: - description: DisplayName defines a user-friendly name. - Does not have to be unique, and it's changeable. Avoid - entering confidential information. + description: |- + DisplayName defines a user-friendly name. Does not have to be unique, and it's changeable. + Avoid entering confidential information. type: string hostnameLabel: description: HostnameLabel defines the hostname for the VNIC's primary private IP. Used for DNS. type: string nsgId: - description: NSGId defines the ID of the NSG to use. This - parameter takes priority over NsgNames. Deprecated, - please use NetworkDetails.NSGIds + description: |- + NSGId defines the ID of the NSG to use. This parameter takes priority over NsgNames. + Deprecated, please use NetworkDetails.NSGIds type: string nsgIds: description: NSGIds defines the list of NSG IDs to use. @@ -426,10 +418,11 @@ spec: type: string type: object nsgName: - description: 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. Deprecated, please use NetworkDetails.NSGNames + description: |- + 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. + Deprecated, please use NetworkDetails.NSGNames type: string platformConfig: description: PlatformConfig defines the platform config parameters @@ -439,15 +432,14 @@ spec: BM platform configuration properties: areVirtualInstructionsEnabled: - description: Whether virtualization instructions are - available. For example, Secure Virtual Machine for - AMD shapes or VT-x for Intel shapes. + description: |- + Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes + or VT-x for Intel shapes. type: boolean isAccessControlServiceEnabled: - description: 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. + description: |- + 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. type: boolean isInputOutputMemoryManagementUnitEnabled: description: Whether the input-output memory management @@ -468,39 +460,35 @@ spec: instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket - (NPS). The following values are supported: * `NPS0` - * `NPS1` * `NPS2` * `NPS4`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS0` + * `NPS1` + * `NPS2` + * `NPS4` type: string percentageOfCoresEnabled: - description: 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. + description: |- + The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage + results in a fractional number of cores, the system rounds up the number of cores across processors + and provisions an instance with a whole number of cores. + If the applications that you run on the instance use a core-based licensing model and need fewer cores + than the full size of the shape, you can disable cores to reduce your licensing costs. The instance + itself is billed for the full shape, regardless of whether all cores are enabled. type: integer type: object amdRomeBmGpuPlatformConfig: @@ -508,15 +496,14 @@ spec: BM platform configuration properties: areVirtualInstructionsEnabled: - description: Whether virtualization instructions are - available. For example, Secure Virtual Machine for - AMD shapes or VT-x for Intel shapes. + description: |- + Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes + or VT-x for Intel shapes. type: boolean isAccessControlServiceEnabled: - description: 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. + description: |- + 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. type: boolean isInputOutputMemoryManagementUnitEnabled: description: Whether the input-output memory management @@ -537,26 +524,26 @@ spec: instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket - (NPS). The following values are supported: * `NPS0` - * `NPS1` * `NPS2` * `NPS4`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS0` + * `NPS1` + * `NPS2` + * `NPS4` type: string type: object amdRomeBmPlatformConfig: @@ -564,15 +551,14 @@ spec: BM platform configuration properties: areVirtualInstructionsEnabled: - description: Whether virtualization instructions are - available. For example, Secure Virtual Machine for - AMD shapes or VT-x for Intel shapes. + description: |- + Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes + or VT-x for Intel shapes. type: boolean isAccessControlServiceEnabled: - description: 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. + description: |- + 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. type: boolean isInputOutputMemoryManagementUnitEnabled: description: Whether the input-output memory management @@ -593,39 +579,35 @@ spec: instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket - (NPS). The following values are supported: * `NPS0` - * `NPS1` * `NPS2` * `NPS4`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS0` + * `NPS1` + * `NPS2` + * `NPS4` type: string percentageOfCoresEnabled: - description: 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. + description: |- + The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage + results in a fractional number of cores, the system rounds up the number of cores across processors + and provisions an instance with a whole number of cores. + If the applications that you run on the instance use a core-based licensing model and need fewer cores + than the full size of the shape, you can disable cores to reduce your licensing costs. The instance + itself is billed for the full shape, regardless of whether all cores are enabled. type: integer type: object amdVmPlatformConfig: @@ -674,39 +656,33 @@ spec: instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket - (NPS). The following values are supported: * `NPS1` - * `NPS2`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS1` + * `NPS2` type: string percentageOfCoresEnabled: - description: 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. + description: |- + The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage + results in a fractional number of cores, the system rounds up the number of cores across processors + and provisions an instance with a whole number of cores. + If the applications that you run on the instance use a core-based licensing model and need fewer cores + than the full size of the shape, you can disable cores to reduce your licensing costs. The instance + itself is billed for the full shape, regardless of whether all cores are enabled. type: integer type: object intelSkylakeBmPlatformConfig: @@ -756,11 +732,16 @@ spec: type: boolean type: object platformConfigType: - description: 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 + description: |- + 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 type: string type: object preemptibleInstanceConfig: @@ -780,20 +761,19 @@ spec: type: object type: object preserveBootVolume: - description: Specifies whether to delete or preserve the boot - volume when terminating an instance. When set to true, the - boot volume is preserved. The default value is false. + description: |- + Specifies whether to delete or preserve the boot volume when terminating an instance. + When set to true, the boot volume is preserved. The default value is false. type: boolean preserveDataVolumesCreatedAtLaunch: - description: Specifies whether to delete or preserve the data - volumes created during launch when terminating an instance. - When set to true, the data volumes are preserved. The default - value is true. + description: |- + Specifies whether to delete or preserve the data volumes created during launch when + terminating an instance. When set to true, the data volumes are preserved. The default value is true. type: boolean providerID: - description: Provider ID of the instance, this will be set - by Cluster API provider itself, users should not set this - parameter. + description: |- + Provider ID of the instance, this will be set by Cluster API provider itself, + users should not set this parameter. type: string shape: description: Shape of the instance. @@ -803,14 +783,13 @@ spec: for flex instances. properties: baselineOcpuUtilization: - description: '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: + description: |- + 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.' + - `BASELINE_1_1` - baseline usage is an entire OCPU. This represents a non-burstable instance. type: string memoryInGBs: description: The total amount of memory available to the @@ -826,16 +805,15 @@ spec: type: string type: object subnetName: - description: 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. + description: |- + 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. type: string vnicAttachments: - description: 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. + description: |- + 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. items: properties: assignPublicIp: @@ -843,19 +821,20 @@ spec: should have a public IP address type: boolean displayName: - description: DisplayName defines a user-friendly name. - Does not have to be unique. Avoid entering confidential - information. + description: |- + DisplayName defines a user-friendly name. Does not have to be unique. + Avoid entering confidential information. type: string nicIndex: - description: 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 + description: |- + 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 type: integer subnetName: - description: SubnetName defines the subnet name to use - for the VNIC Defaults to the "worker" subnet if not - provided + description: |- + SubnetName defines the subnet name to use for the VNIC + Defaults to the "worker" subnet if not provided type: string vnicAttachmentId: description: VnicAttachmentId defines the ID of the @@ -882,14 +861,19 @@ spec: machine template. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -909,43 +893,41 @@ spec: Cloud Agent software running on the instance. properties: areAllPluginsDisabled: - description: 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). + description: |- + 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). type: boolean isManagementDisabled: - description: 'IsManagementDisabled defines whether Oracle - Cloud Agent can run all the available management plugins. + description: |- + 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.' + 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. type: boolean isMonitoringDisabled: - description: '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.' + description: |- + 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. type: boolean pluginsConfigs: description: PluginsConfig defines the configuration of @@ -955,67 +937,61 @@ spec: of plugins associated with this instance. properties: desiredState: - description: '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`' + description: |- + 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` type: string name: - description: 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). + description: |- + 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). type: string type: object type: array type: object availabilityConfig: - description: 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. + description: |- + 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. properties: isLiveMigrationPreferred: - description: 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. + description: |- + 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. type: boolean recoveryAction: - description: 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. + description: |- + 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. type: string type: object bootVolumeSizeInGBs: - description: The size of boot volume. Please see https://docs.oracle.com/en-us/iaas/Content/Block/Tasks/extendingbootpartition.htm + description: |- + 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. type: string capacityReservationId: - description: 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). + description: |- + 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). type: string compartmentId: description: Compartment to launch the instance in. type: string computeClusterId: - description: ComputeClusterId refers to OCID of the compute - cluster that the instance will be created in. Please refer - https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/compute-clusters.htm - for more details + description: |- + ComputeClusterId refers to OCID of the compute cluster that the instance will be created in. + Please refer https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/compute-clusters.htm for more details type: string dedicatedVmHostId: description: DedicatedVmHostId defines the OCID of the dedicated @@ -1026,10 +1002,10 @@ spec: additionalProperties: type: string type: object - description: '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"}}`' + description: |- + 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"}}` type: object freeformTags: additionalProperties: @@ -1046,10 +1022,10 @@ spec: description: InstanceOptions defines the instance options properties: areLegacyImdsEndpointsDisabled: - description: 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. + description: |- + 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. type: boolean type: object instanceSourceViaImageConfig: @@ -1057,17 +1033,15 @@ spec: for booting up instances via images properties: bootVolumeVpusPerGB: - description: '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.' + description: |- + 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. format: int64 type: integer kmsKeyId: @@ -1088,24 +1062,23 @@ spec: the compatibility and performance of VM shapes properties: bootVolumeType: - description: 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. + description: |- + 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. type: string firmware: - description: 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. + description: |- + 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. type: string isConsistentVolumeNamingEnabled: description: IsConsistentVolumeNamingEnabled defines whether @@ -1113,24 +1086,23 @@ spec: to false. type: boolean networkType: - description: 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. + description: |- + 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. type: string remoteDataVolumeType: - description: 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. + description: |- + 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. type: string type: object launchVolumeAttachments: @@ -1148,12 +1120,13 @@ spec: of devices for a given instance, see ListInstanceDevices. type: string displayName: - description: A user-friendly name. Does not have - to be unique, and it's changeable. Avoid entering - confidential information. + description: |- + A user-friendly name. Does not have to be unique, and it's changeable. + Avoid entering confidential information. type: string encryptionInTransitType: - description: Refer the top-level definition of encryptionInTransitType. + description: |- + Refer the top-level definition of encryptionInTransitType. The default value is NONE. type: string isAgentAutoIscsiLoginEnabled: @@ -1167,13 +1140,11 @@ spec: in read-only mode. type: boolean isShareable: - description: Whether the attachment should be created - in shareable mode. If an attachment is created - in shareable mode, then other instances can attach - the same volume, provided that they also create - their attachments in shareable mode. Only certain - volume types can be attached in shareable mode. - Defaults to false if not specified. + description: |- + Whether the attachment should be created in shareable mode. If an attachment + is created in shareable mode, then other instances can attach the same volume, provided + that they also create their attachments in shareable mode. Only certain volume types can + be attached in shareable mode. Defaults to false if not specified. type: boolean launchCreateVolumeFromAttributes: description: LaunchCreateVolumeFromAttributes The @@ -1181,35 +1152,34 @@ spec: operation. properties: compartmentId: - description: The OCID of the compartment that - contains the volume. If not provided, it will - be inherited from the instance. + description: |- + The OCID of the compartment that contains the volume. If not provided, + it will be inherited from the instance. type: string displayName: - description: A user-friendly name. Does not - have to be unique, and it's changeable. Avoid - entering confidential information. + description: |- + A user-friendly name. Does not have to be unique, and it's changeable. + Avoid entering confidential information. type: string kmsKeyId: - description: The OCID of the Vault service key - to assign as the master encryption key for - the volume. + description: |- + The OCID of the Vault service key to assign as the master encryption key + for the volume. type: string sizeInGBs: description: The size of the volume in GBs. format: int64 type: integer vpusPerGB: - description: '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: * `0`: - Represents Lower Cost option. * `10`: Represents - Balanced option. * `20`: Represents Higher - Performance option. * `30`-`120`: Represents - the Ultra High Performance option.' + description: |- + 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: + * `0`: Represents Lower Cost option. + * `10`: Represents Balanced option. + * `20`: Represents Higher Performance option. + * `30`-`120`: Represents the Ultra High Performance option. format: int64 type: integer type: object @@ -1231,8 +1201,9 @@ spec: metadata: additionalProperties: type: string - description: Custom metadata key/value pairs that you provide, - such as the SSH public key required to connect to the instance. + description: |- + Custom metadata key/value pairs that you provide, such as the SSH public key + required to connect to the instance. type: object networkDetails: description: NetworkDetails defines the configuration options @@ -1247,18 +1218,18 @@ spec: should have a public IP address type: boolean displayName: - description: DisplayName defines a user-friendly name. - Does not have to be unique, and it's changeable. Avoid - entering confidential information. + description: |- + DisplayName defines a user-friendly name. Does not have to be unique, and it's changeable. + Avoid entering confidential information. type: string hostnameLabel: description: HostnameLabel defines the hostname for the VNIC's primary private IP. Used for DNS. type: string nsgId: - description: NSGId defines the ID of the NSG to use. This - parameter takes priority over NsgNames. Deprecated, - please use NetworkDetails.NSGIds + description: |- + NSGId defines the ID of the NSG to use. This parameter takes priority over NsgNames. + Deprecated, please use NetworkDetails.NSGIds type: string nsgIds: description: NSGIds defines the list of NSG IDs to use. @@ -1294,15 +1265,14 @@ spec: BM platform configuration properties: areVirtualInstructionsEnabled: - description: Whether virtualization instructions are - available. For example, Secure Virtual Machine for - AMD shapes or VT-x for Intel shapes. + description: |- + Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes + or VT-x for Intel shapes. type: boolean isAccessControlServiceEnabled: - description: 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. + description: |- + 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. type: boolean isInputOutputMemoryManagementUnitEnabled: description: Whether the input-output memory management @@ -1323,39 +1293,35 @@ spec: instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket - (NPS). The following values are supported: * `NPS0` - * `NPS1` * `NPS2` * `NPS4`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS0` + * `NPS1` + * `NPS2` + * `NPS4` type: string percentageOfCoresEnabled: - description: 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. + description: |- + The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage + results in a fractional number of cores, the system rounds up the number of cores across processors + and provisions an instance with a whole number of cores. + If the applications that you run on the instance use a core-based licensing model and need fewer cores + than the full size of the shape, you can disable cores to reduce your licensing costs. The instance + itself is billed for the full shape, regardless of whether all cores are enabled. type: integer type: object amdRomeBmGpuPlatformConfig: @@ -1363,15 +1329,14 @@ spec: BM platform configuration properties: areVirtualInstructionsEnabled: - description: Whether virtualization instructions are - available. For example, Secure Virtual Machine for - AMD shapes or VT-x for Intel shapes. + description: |- + Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes + or VT-x for Intel shapes. type: boolean isAccessControlServiceEnabled: - description: 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. + description: |- + 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. type: boolean isInputOutputMemoryManagementUnitEnabled: description: Whether the input-output memory management @@ -1392,26 +1357,26 @@ spec: instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket - (NPS). The following values are supported: * `NPS0` - * `NPS1` * `NPS2` * `NPS4`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS0` + * `NPS1` + * `NPS2` + * `NPS4` type: string type: object amdRomeBmPlatformConfig: @@ -1419,15 +1384,14 @@ spec: BM platform configuration properties: areVirtualInstructionsEnabled: - description: Whether virtualization instructions are - available. For example, Secure Virtual Machine for - AMD shapes or VT-x for Intel shapes. + description: |- + Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes + or VT-x for Intel shapes. type: boolean isAccessControlServiceEnabled: - description: 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. + description: |- + 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. type: boolean isInputOutputMemoryManagementUnitEnabled: description: Whether the input-output memory management @@ -1448,39 +1412,35 @@ spec: instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket - (NPS). The following values are supported: * `NPS0` - * `NPS1` * `NPS2` * `NPS4`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS0` + * `NPS1` + * `NPS2` + * `NPS4` type: string percentageOfCoresEnabled: - description: 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. + description: |- + The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage + results in a fractional number of cores, the system rounds up the number of cores across processors + and provisions an instance with a whole number of cores. + If the applications that you run on the instance use a core-based licensing model and need fewer cores + than the full size of the shape, you can disable cores to reduce your licensing costs. The instance + itself is billed for the full shape, regardless of whether all cores are enabled. type: integer type: object amdVmPlatformConfig: @@ -1529,39 +1489,33 @@ spec: instance. type: boolean isSymmetricMultiThreadingEnabled: - description: 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. + description: |- + 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. type: boolean isTrustedPlatformModuleEnabled: description: Whether the Trusted Platform Module (TPM) is enabled on the instance. type: boolean numaNodesPerSocket: - description: 'The number of NUMA nodes per socket - (NPS). The following values are supported: * `NPS1` - * `NPS2`' + description: |- + The number of NUMA nodes per socket (NPS). + The following values are supported: + * `NPS1` + * `NPS2` type: string percentageOfCoresEnabled: - description: 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. + description: |- + The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage + results in a fractional number of cores, the system rounds up the number of cores across processors + and provisions an instance with a whole number of cores. + If the applications that you run on the instance use a core-based licensing model and need fewer cores + than the full size of the shape, you can disable cores to reduce your licensing costs. The instance + itself is billed for the full shape, regardless of whether all cores are enabled. type: integer type: object intelSkylakeBmPlatformConfig: @@ -1611,11 +1565,16 @@ spec: type: boolean type: object platformConfigType: - description: 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 + description: |- + 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 type: string type: object preemptibleInstanceConfig: @@ -1635,20 +1594,19 @@ spec: type: object type: object preserveBootVolume: - description: Specifies whether to delete or preserve the boot - volume when terminating an instance. When set to true, the - boot volume is preserved. The default value is false. + description: |- + Specifies whether to delete or preserve the boot volume when terminating an instance. + When set to true, the boot volume is preserved. The default value is false. type: boolean preserveDataVolumesCreatedAtLaunch: - description: Specifies whether to delete or preserve the data - volumes created during launch when terminating an instance. - When set to true, the data volumes are preserved. The default - value is true. + description: |- + Specifies whether to delete or preserve the data volumes created during launch when + terminating an instance. When set to true, the data volumes are preserved. The default value is true. type: boolean providerID: - description: Provider ID of the instance, this will be set - by Cluster API provider itself, users should not set this - parameter. + description: |- + Provider ID of the instance, this will be set by Cluster API provider itself, + users should not set this parameter. type: string shape: description: Shape of the instance. @@ -1658,14 +1616,13 @@ spec: for flex instances. properties: baselineOcpuUtilization: - description: '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: + description: |- + 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.' + - `BASELINE_1_1` - baseline usage is an entire OCPU. This represents a non-burstable instance. type: string memoryInGBs: description: The total amount of memory available to the @@ -1681,16 +1638,15 @@ spec: type: string type: object subnetName: - description: 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. + description: |- + 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. type: string vnicAttachments: - description: 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. + description: |- + 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. items: properties: assignPublicIp: @@ -1698,19 +1654,20 @@ spec: should have a public IP address type: boolean displayName: - description: DisplayName defines a user-friendly name. - Does not have to be unique. Avoid entering confidential - information. + description: |- + DisplayName defines a user-friendly name. Does not have to be unique. + Avoid entering confidential information. type: string nicIndex: - description: 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 + description: |- + 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 type: integer subnetName: - description: SubnetName defines the subnet name to use - for the VNIC Defaults to the "worker" subnet if not - provided + description: |- + SubnetName defines the subnet name to use for the VNIC + Defaults to the "worker" subnet if not provided type: string vnicAttachmentId: description: VnicAttachmentId defines the ID of the diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedclusters.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedclusters.yaml index 79b21485e..32dfff38a 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedclusters.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedclusters.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: ocimanagedclusters.infrastructure.cluster.x-k8s.io spec: group: infrastructure.cluster.x-k8s.io @@ -20,14 +20,19 @@ spec: description: OCIManagedCluster is the Schema for the ocimanagedclusters API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -60,10 +65,10 @@ spec: additionalProperties: type: string type: object - description: '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"}}`' + description: |- + 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"}}` type: object freeformTags: additionalProperties: @@ -78,33 +83,40 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. type: string kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object x-kubernetes-map-type: atomic @@ -133,15 +145,15 @@ spec: soon as current backend becomes unhealthy. properties: urlPath: - description: 'The path against which to run the - health check. Example: `/healthcheck` Default - value is `/healthz`' + description: |- + The path against which to run the health check. + Example: `/healthcheck` + Default value is `/healthz` type: string type: object isFailOpen: - description: If enabled, the network load balancer - will continue to distribute traffic in the configured - distribution in the event all backends are unhealthy. + description: |- + If enabled, the network load balancer will continue to distribute traffic in the configured distribution in the event all backends are unhealthy. The value is false by default. type: boolean isInstantFailoverEnabled: @@ -150,27 +162,26 @@ spec: soon as current backend becomes unhealthy. type: boolean isPreserveSource: - description: If this parameter is enabled, then the - network load balancer preserves the source IP of - the packet when it is forwarded to backends. Backends - see the original source IP. If the isPreserveSourceDestination - parameter is enabled for the network load balancer - resource, then this parameter cannot be disabled. + description: |- + If this parameter is enabled, then the network load balancer preserves the source IP of the packet when it is forwarded to backends. + Backends see the original source IP. If the isPreserveSourceDestination parameter is enabled for the network load balancer resource, then this parameter cannot be disabled. The value is false by default. type: boolean type: object type: object type: object skipNetworkManagement: - description: SkipNetworkManagement defines if the networking spec(VCN - related) specified by the user needs to be reconciled(actioned-upon) + description: |- + 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. type: boolean vcn: description: VCN configuration. properties: cidr: - description: VCN CIDR. Deprecated, please use NetworkDetails.cidrs + description: |- + VCN CIDR. + Deprecated, please use NetworkDetails.cidrs type: string cidrs: description: VCN CIDRs. @@ -178,10 +189,10 @@ spec: type: string type: array dnsLabel: - description: DnsLabel specifies a DNS label for the VCN, used - in conjunction with the VNIC's hostname and subnet's DNS - label to form a fully qualified domain name (FQDN) for each - VNIC within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). + description: |- + DnsLabel specifies a DNS label for the VCN, used in conjunction with the VNIC's hostname and + subnet's DNS label to form a fully qualified domain name (FQDN) for each VNIC + within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). type: string id: description: VCN OCID. @@ -199,8 +210,9 @@ spec: description: NetworkSecurityGroups is the configuration for the Network Security Groups required in the VCN. items: - description: NSG defines configuration for a Network Security - Group. https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/networksecuritygroups.htm + description: |- + NSG defines configuration for a Network Security Group. + https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/networksecuritygroups.htm properties: egressRules: description: EgressRules on the NSG. @@ -217,47 +229,37 @@ spec: choice for the rule. type: string destination: - description: '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`.' + description: |- + 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`. type: string destinationType: - description: '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).' + description: |- + 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). type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -267,41 +269,33 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -314,11 +308,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -328,22 +320,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -356,11 +344,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -371,9 +357,9 @@ spec: type: object type: object id: - description: 'EgressSecurityRule ID for NSG. Deprecated: - this field is not populated and used during - reconciliation' + description: |- + EgressSecurityRule ID for NSG. + Deprecated: this field is not populated and used during reconciliation type: string type: object type: array @@ -387,9 +373,9 @@ spec: for NSG properties: id: - description: 'IngressSecurityRule ID for NSG. - Deprecated: this field is not populated and - used during reconciliation' + description: |- + IngressSecurityRule ID for NSG. + Deprecated: this field is not populated and used during reconciliation type: string ingressRule: description: IngressSecurityRule A rule for allowing @@ -400,22 +386,16 @@ spec: choice for the rule. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -425,66 +405,53 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string source: - description: '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`.' + description: |- + 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`. type: string sourceType: - description: '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).' + description: |- + 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). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -497,11 +464,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -511,22 +476,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -539,11 +500,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -582,17 +541,18 @@ spec: description: Subnets is the configuration for subnets required in the VCN. items: - description: 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 + description: |- + 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 properties: cidr: description: Subnet CIDR. type: string dnsLabel: - description: DnsLabel DNS label for the subnet, used - in conjunction with the VNIC's hostname and VCN's - DNS label to form a fully qualified domain name (FQDN) - for each VNIC within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). + description: |- + DnsLabel DNS label for the subnet, used in conjunction with the VNIC's hostname and + VCN's DNS label to form a fully qualified domain name (FQDN) for each VNIC + within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). type: string id: description: Subnet OCID. @@ -618,47 +578,37 @@ spec: choice for the rule. type: string destination: - description: '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`.' + description: |- + 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`. type: string destinationType: - description: '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).' + description: |- + 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). type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -668,41 +618,33 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -715,11 +657,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -729,22 +669,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -757,11 +693,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -786,22 +720,16 @@ spec: choice for the rule. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -811,66 +739,53 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string source: - description: '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`.' + description: |- + 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`. type: string sourceType: - description: '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).' + description: |- + 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). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -883,11 +798,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -897,22 +810,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -925,11 +834,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -961,76 +868,72 @@ spec: description: VCNPeering configuration. properties: drg: - description: 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. + description: |- + 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. properties: id: description: ID is the OCID for the created DRG. type: string manage: - description: 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. + description: |- + 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. type: boolean name: description: Name is the name of the created DRG. type: string vcnAttachmentId: - description: 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. + description: |- + 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. type: string type: object peerRouteRules: - description: 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. + description: |- + 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. items: description: PeerRouteRule defines a Route Rule to be routed via a DRG. properties: vcnCIDRRange: - description: 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. + description: |- + 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. type: string type: object type: array remotePeeringConnections: - description: RemotePeeringConnections defines the RPC connections - which be established with the workload cluster DRG. + description: |- + RemotePeeringConnections defines the RPC connections which be established with the + workload cluster DRG. items: - description: 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 + description: |- + 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 properties: managePeerRPC: - description: 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. + description: |- + 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. type: boolean name: - description: A unique name identifying the RPC, please - note this is to identify the RPC from other RPC elements, - and will not be used in any OCI API call. + description: |- + A unique name identifying the RPC, please note this is to identify the RPC + from other RPC elements, and will not be used in any OCI API call. type: string peerDRGId: description: PeerDRGId defines the DRG ID of the peer. type: string peerRPCConnectionId: - description: 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. + description: |- + 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. type: string peerRegionName: description: PeerRegionName defined the region name @@ -1045,14 +948,15 @@ spec: type: object type: object ociResourceIdentifier: - description: 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. + description: |- + 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. type: string region: - description: 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 + description: |- + 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 type: string type: object status: @@ -1073,9 +977,9 @@ spec: description: 'Name is the AD''s full name. Example: Uocm:PHX-AD-1' type: string type: object - description: 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. + description: |- + 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. type: object conditions: description: NetworkSpec encapsulates all things related to OCI network. @@ -1084,37 +988,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -1124,9 +1028,9 @@ spec: type: array failureDomains: additionalProperties: - description: FailureDomainSpec is the Schema for Cluster API failure - domains. It allows controllers to understand how many failure - domains a cluster can optionally span across. + description: |- + FailureDomainSpec is the Schema for Cluster API failure domains. + It allows controllers to understand how many failure domains a cluster can optionally span across. properties: attributes: additionalProperties: @@ -1155,14 +1059,19 @@ spec: description: OCIManagedCluster is the Schema for the ocimanagedclusters API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -1185,9 +1094,9 @@ spec: description: 'Name is the AD''s full name. Example: Uocm:PHX-AD-1' type: string type: object - description: 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. + description: |- + 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. type: object compartmentId: description: Compartment to create the cluster network. @@ -1214,10 +1123,10 @@ spec: additionalProperties: type: string type: object - description: '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"}}`' + description: |- + 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"}}` type: object freeformTags: additionalProperties: @@ -1230,9 +1139,9 @@ spec: nullable: true properties: certOverride: - description: 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. + description: |- + 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. nullable: true properties: name: @@ -1294,33 +1203,40 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. type: string kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object x-kubernetes-map-type: atomic @@ -1352,15 +1268,15 @@ spec: soon as current backend becomes unhealthy. properties: urlPath: - description: 'The path against which to run the - health check. Example: `/healthcheck` Default - value is `/healthz`' + description: |- + The path against which to run the health check. + Example: `/healthcheck` + Default value is `/healthz` type: string type: object isFailOpen: - description: If enabled, the network load balancer - will continue to distribute traffic in the configured - distribution in the event all backends are unhealthy. + description: |- + If enabled, the network load balancer will continue to distribute traffic in the configured distribution in the event all backends are unhealthy. The value is false by default. type: boolean isInstantFailoverEnabled: @@ -1369,27 +1285,26 @@ spec: soon as current backend becomes unhealthy. type: boolean isPreserveSource: - description: If this parameter is enabled, then the - network load balancer preserves the source IP of - the packet when it is forwarded to backends. Backends - see the original source IP. If the isPreserveSourceDestination - parameter is enabled for the network load balancer - resource, then this parameter cannot be disabled. + description: |- + If this parameter is enabled, then the network load balancer preserves the source IP of the packet when it is forwarded to backends. + Backends see the original source IP. If the isPreserveSourceDestination parameter is enabled for the network load balancer resource, then this parameter cannot be disabled. The value is false by default. type: boolean type: object type: object type: object skipNetworkManagement: - description: SkipNetworkManagement defines if the networking spec(VCN - related) specified by the user needs to be reconciled(actioned-upon) + description: |- + 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. type: boolean vcn: description: VCN configuration. properties: cidr: - description: VCN CIDR. Deprecated, please use NetworkDetails.cidrs + description: |- + VCN CIDR. + Deprecated, please use NetworkDetails.cidrs type: string cidrs: description: VCN CIDRs. @@ -1397,10 +1312,10 @@ spec: type: string type: array dnsLabel: - description: DnsLabel specifies a DNS label for the VCN, used - in conjunction with the VNIC's hostname and subnet's DNS - label to form a fully qualified domain name (FQDN) for each - VNIC within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). + description: |- + DnsLabel specifies a DNS label for the VCN, used in conjunction with the VNIC's hostname and + subnet's DNS label to form a fully qualified domain name (FQDN) for each VNIC + within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). type: string id: description: VCN OCID. @@ -1437,8 +1352,9 @@ spec: description: NetworkSecurityGroup is the configuration for the Network Security Groups required in the VCN. items: - description: NSG defines configuration for a Network - Security Group. https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/networksecuritygroups.htm + description: |- + NSG defines configuration for a Network Security Group. + https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/networksecuritygroups.htm properties: egressRules: description: EgressRules on the NSG. @@ -1455,54 +1371,39 @@ spec: your choice for the rule. type: string destination: - description: '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`.' + description: |- + 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`. type: string destinationType: - description: '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). - * `NETWORK_SECURITY_GROUP`: If the rule''s - `destination` is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) - of a NetworkSecurityGroup.' + description: |- + 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). + * `NETWORK_SECURITY_GROUP`: If the rule's `destination` is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + NetworkSecurityGroup. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -1512,45 +1413,33 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1563,12 +1452,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1578,24 +1464,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1608,12 +1488,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1643,24 +1520,16 @@ spec: your choice for the rule. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -1670,74 +1539,55 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string source: - description: '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`.' + description: |- + 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`. type: string sourceType: - description: '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). * `NETWORK_SECURITY_GROUP`: - If the rule''s `destination` is the - OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) - of a NetworkSecurityGroup.' + description: |- + 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). + * `NETWORK_SECURITY_GROUP`: If the rule's `destination` is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + NetworkSecurityGroup. type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1750,12 +1600,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1765,24 +1612,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1795,12 +1636,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1860,17 +1698,18 @@ spec: description: Subnets is the configuration for subnets required in the VCN. items: - description: 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 + description: |- + 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 properties: cidr: description: Subnet CIDR. type: string dnsLabel: - description: DnsLabel DNS label for the subnet, used - in conjunction with the VNIC's hostname and VCN's - DNS label to form a fully qualified domain name (FQDN) - for each VNIC within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). + description: |- + DnsLabel DNS label for the subnet, used in conjunction with the VNIC's hostname and + VCN's DNS label to form a fully qualified domain name (FQDN) for each VNIC + within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). type: string id: description: Subnet OCID. @@ -1896,50 +1735,39 @@ spec: choice for the rule. type: string destination: - description: '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`.' + description: |- + 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`. type: string destinationType: - description: '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). * - `NETWORK_SECURITY_GROUP`: If the rule''s - `destination` is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) - of a NetworkSecurityGroup.' + description: |- + 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). + * `NETWORK_SECURITY_GROUP`: If the rule's `destination` is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + NetworkSecurityGroup. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -1949,41 +1777,33 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -1996,11 +1816,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -2010,22 +1828,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -2038,11 +1852,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -2067,22 +1879,16 @@ spec: choice for the rule. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -2092,69 +1898,55 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string source: - description: '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`.' + description: |- + 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`. type: string sourceType: - description: '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). * `NETWORK_SECURITY_GROUP`: - If the rule''s `destination` is the OCID - (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) - of a NetworkSecurityGroup.' + description: |- + 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). + * `NETWORK_SECURITY_GROUP`: If the rule's `destination` is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + NetworkSecurityGroup. type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -2167,11 +1959,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -2181,22 +1971,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -2209,11 +1995,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port number, @@ -2245,76 +2029,72 @@ spec: description: VCNPeering configuration. properties: drg: - description: 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. + description: |- + 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. properties: id: description: ID is the OCID for the created DRG. type: string manage: - description: 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. + description: |- + 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. type: boolean name: description: Name is the name of the created DRG. type: string vcnAttachmentId: - description: 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. + description: |- + 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. type: string type: object peerRouteRules: - description: 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. + description: |- + 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. items: description: PeerRouteRule defines a Route Rule to be routed via a DRG. properties: vcnCIDRRange: - description: 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. + description: |- + 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. type: string type: object type: array remotePeeringConnections: - description: RemotePeeringConnections defines the RPC connections - which be established with the workload cluster DRG. + description: |- + RemotePeeringConnections defines the RPC connections which be established with the + workload cluster DRG. items: - description: 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 + description: |- + 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 properties: managePeerRPC: - description: 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. + description: |- + 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. type: boolean name: - description: A unique name identifying the RPC, please - note this is to identify the RPC from other RPC elements, - and will not be used in any OCI API call. + description: |- + A unique name identifying the RPC, please note this is to identify the RPC + from other RPC elements, and will not be used in any OCI API call. type: string peerDRGId: description: PeerDRGId defines the DRG ID of the peer. type: string peerRPCConnectionId: - description: 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. + description: |- + 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. type: string peerRegionName: description: PeerRegionName defined the region name @@ -2329,14 +2109,15 @@ spec: type: object type: object ociResourceIdentifier: - description: 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. + description: |- + 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. type: string region: - description: 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 + description: |- + 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 type: string type: object status: @@ -2349,37 +2130,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -2389,9 +2170,9 @@ spec: type: array failureDomains: additionalProperties: - description: FailureDomainSpec is the Schema for Cluster API failure - domains. It allows controllers to understand how many failure - domains a cluster can optionally span across. + description: |- + FailureDomainSpec is the Schema for Cluster API failure domains. + It allows controllers to understand how many failure domains a cluster can optionally span across. properties: attributes: additionalProperties: diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedclustertemplates.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedclustertemplates.yaml index b17d71c09..2fa2be58d 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedclustertemplates.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedclustertemplates.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: ocimanagedclustertemplates.infrastructure.cluster.x-k8s.io spec: group: infrastructure.cluster.x-k8s.io @@ -23,14 +23,19 @@ spec: API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -72,10 +77,10 @@ spec: additionalProperties: type: string type: object - description: '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"}}`' + description: |- + 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"}}` type: object freeformTags: additionalProperties: @@ -90,34 +95,40 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead - of an entire object, this string should contain a valid - JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container - within a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that - triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this - pod). This syntax is chosen only to have some well-defined - way of referencing a part of an object. TODO: this design - is not final and this field is subject to change in - the future.' + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. type: string kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object x-kubernetes-map-type: atomic @@ -148,17 +159,16 @@ spec: unhealthy. properties: urlPath: - description: 'The path against which to - run the health check. Example: `/healthcheck` - Default value is `/healthz`' + description: |- + The path against which to run the health check. + Example: `/healthcheck` + Default value is `/healthz` type: string type: object isFailOpen: - description: If enabled, the network load - balancer will continue to distribute traffic - in the configured distribution in the event - all backends are unhealthy. The value is - false by default. + description: |- + If enabled, the network load balancer will continue to distribute traffic in the configured distribution in the event all backends are unhealthy. + The value is false by default. type: boolean isInstantFailoverEnabled: description: If enabled existing connections @@ -167,29 +177,26 @@ spec: unhealthy. type: boolean isPreserveSource: - description: If this parameter is enabled, - then the network load balancer preserves - the source IP of the packet when it is forwarded - to backends. Backends see the original source - IP. If the isPreserveSourceDestination parameter - is enabled for the network load balancer - resource, then this parameter cannot be - disabled. The value is false by default. + description: |- + If this parameter is enabled, then the network load balancer preserves the source IP of the packet when it is forwarded to backends. + Backends see the original source IP. If the isPreserveSourceDestination parameter is enabled for the network load balancer resource, then this parameter cannot be disabled. + The value is false by default. type: boolean type: object type: object type: object skipNetworkManagement: - description: 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. + description: |- + 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. type: boolean vcn: description: VCN configuration. properties: cidr: - description: VCN CIDR. Deprecated, please use NetworkDetails.cidrs + description: |- + VCN CIDR. + Deprecated, please use NetworkDetails.cidrs type: string cidrs: description: VCN CIDRs. @@ -197,11 +204,10 @@ spec: type: string type: array dnsLabel: - description: DnsLabel specifies a DNS label for the - VCN, used in conjunction with the VNIC's hostname - and subnet's DNS label to form a fully qualified - domain name (FQDN) for each VNIC within this subnet - (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). + description: |- + DnsLabel specifies a DNS label for the VCN, used in conjunction with the VNIC's hostname and + subnet's DNS label to form a fully qualified domain name (FQDN) for each VNIC + within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). type: string id: description: VCN OCID. @@ -220,8 +226,9 @@ spec: for the Network Security Groups required in the VCN. items: - description: NSG defines configuration for a Network - Security Group. https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/networksecuritygroups.htm + description: |- + NSG defines configuration for a Network Security Group. + https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/networksecuritygroups.htm properties: egressRules: description: EgressRules on the NSG. @@ -238,55 +245,37 @@ spec: of your choice for the rule. type: string destination: - description: '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`.' + description: |- + 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`. type: string destinationType: - description: '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).' + description: |- + 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). type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -296,48 +285,33 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -351,13 +325,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -368,25 +338,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -400,13 +363,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -418,9 +377,9 @@ spec: type: object type: object id: - description: 'EgressSecurityRule ID for - NSG. Deprecated: this field is not populated - and used during reconciliation' + description: |- + EgressSecurityRule ID for NSG. + Deprecated: this field is not populated and used during reconciliation type: string type: object type: array @@ -434,9 +393,9 @@ spec: IngressSecurityRule for NSG properties: id: - description: 'IngressSecurityRule ID for - NSG. Deprecated: this field is not populated - and used during reconciliation' + description: |- + IngressSecurityRule ID for NSG. + Deprecated: this field is not populated and used during reconciliation type: string ingressRule: description: IngressSecurityRule A rule @@ -447,26 +406,16 @@ spec: of your choice for the rule. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -476,77 +425,53 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string source: - description: '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`.' + description: |- + 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`. type: string sourceType: - description: '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).' + description: |- + 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). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -560,13 +485,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -577,25 +498,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -609,13 +523,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -656,18 +566,18 @@ spec: description: Subnets is the configuration for subnets required in the VCN. items: - description: 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 + description: |- + 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 properties: cidr: description: Subnet CIDR. type: string dnsLabel: - description: DnsLabel DNS label for the subnet, - used in conjunction with the VNIC's hostname - and VCN's DNS label to form a fully qualified - domain name (FQDN) for each VNIC within this - subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). + description: |- + DnsLabel DNS label for the subnet, used in conjunction with the VNIC's hostname and + VCN's DNS label to form a fully qualified domain name (FQDN) for each VNIC + within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). type: string id: description: Subnet OCID. @@ -695,55 +605,37 @@ spec: of your choice for the rule. type: string destination: - description: '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`.' + description: |- + 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`. type: string destinationType: - description: '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).' + description: |- + 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). type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -753,48 +645,33 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -808,13 +685,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -825,25 +698,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -857,13 +723,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -889,26 +751,16 @@ spec: of your choice for the rule. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -918,77 +770,53 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string source: - description: '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`.' + description: |- + 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`. type: string sourceType: - description: '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).' + description: |- + 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). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1002,13 +830,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1019,25 +843,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1051,13 +868,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -1090,83 +903,73 @@ spec: description: VCNPeering configuration. properties: drg: - description: 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. + description: |- + 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. properties: id: description: ID is the OCID for the created DRG. type: string manage: - description: 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. + description: |- + 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. type: boolean name: description: Name is the name of the created DRG. type: string vcnAttachmentId: - description: 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 + description: |- + 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. type: string type: object peerRouteRules: - description: 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. + description: |- + 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. items: description: PeerRouteRule defines a Route Rule to be routed via a DRG. properties: vcnCIDRRange: - description: 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. + description: |- + 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. type: string type: object type: array remotePeeringConnections: - description: RemotePeeringConnections defines the - RPC connections which be established with the workload - cluster DRG. + description: |- + RemotePeeringConnections defines the RPC connections which be established with the + workload cluster DRG. items: - description: RemotePeeringConnection is used to - peer VCNs residing in different regions(typically). + description: |- + 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 properties: managePeerRPC: - description: 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. + description: |- + 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. type: boolean name: - description: A unique name identifying the RPC, - please note this is to identify the RPC from - other RPC elements, and will not be used in - any OCI API call. + description: |- + A unique name identifying the RPC, please note this is to identify the RPC + from other RPC elements, and will not be used in any OCI API call. type: string peerDRGId: description: PeerDRGId defines the DRG ID of the peer. type: string peerRPCConnectionId: - description: 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. + description: |- + 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. type: string peerRegionName: description: PeerRegionName defined the region @@ -1182,14 +985,15 @@ spec: type: object type: object ociResourceIdentifier: - description: 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. + description: |- + 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. type: string region: - description: 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 + description: |- + 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 type: string type: object required: @@ -1208,14 +1012,19 @@ spec: API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -1247,10 +1056,9 @@ spec: Uocm:PHX-AD-1' type: string type: object - description: 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. + description: |- + 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. type: object compartmentId: description: Compartment to create the cluster network. @@ -1278,10 +1086,10 @@ spec: additionalProperties: type: string type: object - description: '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"}}`' + description: |- + 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"}}` type: object freeformTags: additionalProperties: @@ -1294,8 +1102,8 @@ spec: nullable: true properties: certOverride: - description: CertOverride is a secret that contains information - about a cert override used by all the OCI SDK clients. + description: |- + 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. nullable: true properties: @@ -1358,34 +1166,40 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead - of an entire object, this string should contain a valid - JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container - within a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that - triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this - pod). This syntax is chosen only to have some well-defined - way of referencing a part of an object. TODO: this design - is not final and this field is subject to change in - the future.' + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. type: string kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object x-kubernetes-map-type: atomic @@ -1420,17 +1234,16 @@ spec: unhealthy. properties: urlPath: - description: 'The path against which to - run the health check. Example: `/healthcheck` - Default value is `/healthz`' + description: |- + The path against which to run the health check. + Example: `/healthcheck` + Default value is `/healthz` type: string type: object isFailOpen: - description: If enabled, the network load - balancer will continue to distribute traffic - in the configured distribution in the event - all backends are unhealthy. The value is - false by default. + description: |- + If enabled, the network load balancer will continue to distribute traffic in the configured distribution in the event all backends are unhealthy. + The value is false by default. type: boolean isInstantFailoverEnabled: description: If enabled existing connections @@ -1439,29 +1252,26 @@ spec: unhealthy. type: boolean isPreserveSource: - description: If this parameter is enabled, - then the network load balancer preserves - the source IP of the packet when it is forwarded - to backends. Backends see the original source - IP. If the isPreserveSourceDestination parameter - is enabled for the network load balancer - resource, then this parameter cannot be - disabled. The value is false by default. + description: |- + If this parameter is enabled, then the network load balancer preserves the source IP of the packet when it is forwarded to backends. + Backends see the original source IP. If the isPreserveSourceDestination parameter is enabled for the network load balancer resource, then this parameter cannot be disabled. + The value is false by default. type: boolean type: object type: object type: object skipNetworkManagement: - description: 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. + description: |- + 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. type: boolean vcn: description: VCN configuration. properties: cidr: - description: VCN CIDR. Deprecated, please use NetworkDetails.cidrs + description: |- + VCN CIDR. + Deprecated, please use NetworkDetails.cidrs type: string cidrs: description: VCN CIDRs. @@ -1469,11 +1279,10 @@ spec: type: string type: array dnsLabel: - description: DnsLabel specifies a DNS label for the - VCN, used in conjunction with the VNIC's hostname - and subnet's DNS label to form a fully qualified - domain name (FQDN) for each VNIC within this subnet - (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). + description: |- + DnsLabel specifies a DNS label for the VCN, used in conjunction with the VNIC's hostname and + subnet's DNS label to form a fully qualified domain name (FQDN) for each VNIC + within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). type: string id: description: VCN OCID. @@ -1511,8 +1320,9 @@ spec: for the Network Security Groups required in the VCN. items: - description: NSG defines configuration for a - Network Security Group. https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/networksecuritygroups.htm + description: |- + NSG defines configuration for a Network Security Group. + https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/networksecuritygroups.htm properties: egressRules: description: EgressRules on the NSG. @@ -1529,64 +1339,39 @@ spec: of your choice for the rule. type: string destination: - description: '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`.' + description: |- + 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`. type: string destinationType: - description: '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). - * `NETWORK_SECURITY_GROUP`: - If the rule''s `destination` - is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) - of a NetworkSecurityGroup.' + description: |- + 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). + * `NETWORK_SECURITY_GROUP`: If the rule's `destination` is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + NetworkSecurityGroup. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code @@ -1597,52 +1382,33 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: The transport protocol. - Specify either `all` or an IPv4 - protocol number as defined in + description: |- + 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"). + Options are supported only for ICMP ("1"), TCP ("6"), UDP ("17"), and ICMPv6 ("58"). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum @@ -1656,14 +1422,9 @@ spec: representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum @@ -1674,27 +1435,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum @@ -1708,14 +1460,9 @@ spec: representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum @@ -1746,28 +1493,16 @@ spec: of your choice for the rule. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code @@ -1778,87 +1513,55 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: The transport protocol. - Specify either `all` or an IPv4 - protocol number as defined in + description: |- + 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"). + Options are supported only for ICMP ("1"), TCP ("6"), UDP ("17"), and ICMPv6 ("58"). type: string source: - description: '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`.' + description: |- + 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`. type: string sourceType: - description: '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). - * `NETWORK_SECURITY_GROUP`: - If the rule''s `destination` - is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) - of a NetworkSecurityGroup.' + description: |- + 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). + * `NETWORK_SECURITY_GROUP`: If the rule's `destination` is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + NetworkSecurityGroup. type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum @@ -1872,14 +1575,9 @@ spec: representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum @@ -1890,27 +1588,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum @@ -1924,14 +1613,9 @@ spec: representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum @@ -1993,18 +1677,18 @@ spec: description: Subnets is the configuration for subnets required in the VCN. items: - description: 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 + description: |- + 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 properties: cidr: description: Subnet CIDR. type: string dnsLabel: - description: DnsLabel DNS label for the subnet, - used in conjunction with the VNIC's hostname - and VCN's DNS label to form a fully qualified - domain name (FQDN) for each VNIC within this - subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). + description: |- + DnsLabel DNS label for the subnet, used in conjunction with the VNIC's hostname and + VCN's DNS label to form a fully qualified domain name (FQDN) for each VNIC + within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). type: string id: description: Subnet OCID. @@ -2032,59 +1716,39 @@ spec: of your choice for the rule. type: string destination: - description: '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`.' + description: |- + 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`. type: string destinationType: - description: '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). - * `NETWORK_SECURITY_GROUP`: If the - rule''s `destination` is the OCID - (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) - of a NetworkSecurityGroup.' + description: |- + 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). + * `NETWORK_SECURITY_GROUP`: If the rule's `destination` is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + NetworkSecurityGroup. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -2094,48 +1758,33 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -2149,13 +1798,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -2166,25 +1811,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -2198,13 +1836,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -2230,26 +1864,16 @@ spec: of your choice for the rule. type: string icmpOptions: - description: '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) + description: |- + 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.' + 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. properties: code: description: The ICMP code (optional). @@ -2259,80 +1883,55 @@ spec: type: integer type: object isStateless: - description: 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. + description: |- + 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. type: boolean protocol: - description: 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"). + description: |- + 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"). type: string source: - description: '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`.' + description: |- + 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`. type: string sourceType: - description: '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). * `NETWORK_SECURITY_GROUP`: - If the rule''s `destination` is - the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) - of a NetworkSecurityGroup.' + description: |- + 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). + * `NETWORK_SECURITY_GROUP`: If the rule's `destination` is the OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + NetworkSecurityGroup. type: string tcpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -2346,13 +1945,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -2363,25 +1958,18 @@ spec: type: object type: object udpOptions: - description: 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. + description: |- + 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. properties: destinationPortRange: description: PortRange The representation of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -2395,13 +1983,9 @@ spec: of PortRange. properties: max: - description: 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. + description: |- + 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. type: integer min: description: The minimum port @@ -2434,83 +2018,73 @@ spec: description: VCNPeering configuration. properties: drg: - description: 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. + description: |- + 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. properties: id: description: ID is the OCID for the created DRG. type: string manage: - description: 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. + description: |- + 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. type: boolean name: description: Name is the name of the created DRG. type: string vcnAttachmentId: - description: 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 + description: |- + 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. type: string type: object peerRouteRules: - description: 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. + description: |- + 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. items: description: PeerRouteRule defines a Route Rule to be routed via a DRG. properties: vcnCIDRRange: - description: 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. + description: |- + 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. type: string type: object type: array remotePeeringConnections: - description: RemotePeeringConnections defines the - RPC connections which be established with the workload - cluster DRG. + description: |- + RemotePeeringConnections defines the RPC connections which be established with the + workload cluster DRG. items: - description: RemotePeeringConnection is used to - peer VCNs residing in different regions(typically). + description: |- + 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 properties: managePeerRPC: - description: 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. + description: |- + 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. type: boolean name: - description: A unique name identifying the RPC, - please note this is to identify the RPC from - other RPC elements, and will not be used in - any OCI API call. + description: |- + A unique name identifying the RPC, please note this is to identify the RPC + from other RPC elements, and will not be used in any OCI API call. type: string peerDRGId: description: PeerDRGId defines the DRG ID of the peer. type: string peerRPCConnectionId: - description: 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. + description: |- + 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. type: string peerRegionName: description: PeerRegionName defined the region @@ -2526,14 +2100,15 @@ spec: type: object type: object ociResourceIdentifier: - description: 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. + description: |- + 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. type: string region: - description: 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 + description: |- + 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 type: string type: object required: diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedcontrolplanes.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedcontrolplanes.yaml index 369727e10..aeaafe4c7 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedcontrolplanes.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedcontrolplanes.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: ocimanagedcontrolplanes.infrastructure.cluster.x-k8s.io spec: group: infrastructure.cluster.x-k8s.io @@ -21,19 +21,25 @@ spec: API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: - description: OCIManagedControlPlaneSpec defines the desired state of OCIManagedControlPlane. + description: |- + OCIManagedControlPlaneSpec defines the desired state of OCIManagedControlPlane. The properties are generated from https://docs.oracle.com/en-us/iaas/api/#/en/containerengine/20180222/datatypes/CreateClusterDetails properties: clusterOptions: @@ -135,37 +141,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -174,8 +180,9 @@ spec: type: object type: array initialized: - description: Initialized denotes whether or not the control plane - has the uploaded kubernetes config-map. + description: |- + Initialized denotes whether or not the control plane has the + uploaded kubernetes config-map. type: boolean ready: type: boolean @@ -196,19 +203,25 @@ spec: API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: - description: OCIManagedControlPlaneSpec defines the desired state of OCIManagedControlPlane. + description: |- + OCIManagedControlPlaneSpec defines the desired state of OCIManagedControlPlane. The properties are generated from https://docs.oracle.com/en-us/iaas/api/#/en/containerengine/20180222/datatypes/CreateClusterDetails properties: addons: @@ -269,6 +282,87 @@ spec: not to enable the Pod Security Policy admission controller. type: boolean type: object + openIdConnectDiscovery: + description: OpenIDConnectDiscovery specifies OIDC discovery settings + properties: + isOpenIdConnectDiscoveryEnabled: + description: IsOpenIDConnectDiscoveryEnabled defines whether + or not to enable the OIDC discovery. + type: boolean + type: object + openIdConnectTokenAuthenticationConfig: + description: OpenIDConnectTokenAuthenticationConfig + properties: + caCertificate: + description: A Base64 encoded public RSA or ECDSA certificates + used to sign your identity provider's web certificate. + type: string + clientId: + description: A client id that all tokens must be issued for. + type: string + groupsClaim: + description: JWT claim to use as the user's group. If the + claim is present it must be an array of strings. + type: string + groupsPrefix: + description: Prefix prepended to group claims to prevent clashes + with existing names (such as system:groups). + type: string + isOpenIdConnectAuthEnabled: + description: IsOpenIdConnectAuthEnabled defines whether or + not to enable the OIDC authentication. + type: boolean + issuerUrl: + description: URL of the provider that allows the API server + to discover public signing keys. Only URLs that use the + https:// scheme are accepted. This is typically the provider's + discovery URL, changed to have an empty path. + type: string + requiredClaims: + description: A key=value pair that describes a required claim + in the ID Token. If set, the claim is verified to be present + in the ID Token with a matching value. Repeat this flag + to specify multiple claims. + items: + description: KeyValue The properties that define a key value + pair. + properties: + key: + description: The key of the pair. + type: string + value: + description: The value of the pair. + type: string + required: + - key + - value + type: object + type: array + signingAlgorithms: + description: The signing algorithms accepted. Default is ["RS256"]. + items: + type: string + type: array + usernameClaim: + description: JWT claim to use as the user name. By default + sub, which is expected to be a unique identifier of the + end user. Admins can choose other claims, such as email + or name, depending on their provider. However, claims other + than email will be prefixed with the issuer URL to prevent + naming clashes with other plugins. + type: string + usernamePrefix: + description: 'Prefix prepended to username claims to prevent + clashes with existing names (such as system:users). For + example, the value oidc: will create usernames like oidc:jane.doe. + If this flag isn''t provided and --oidc-username-claim is + a value other than email the prefix defaults to ( Issuer + URL )# where ( Issuer URL ) is the value of --oidc-issuer-url. + The value - can be used to disable all prefixing.' + type: string + required: + - isOpenIdConnectAuthEnabled + type: object type: object clusterPodNetworkOptions: description: ClusterPodNetworkOptions defines the available CNIs and @@ -283,8 +377,10 @@ spec: type: object type: array clusterType: - description: ClusterTypeEnum defines the type of cluster. Supported - types are * `BASIC_CLUSTER` * `ENHANCED_CLUSTER` + description: |- + ClusterTypeEnum defines the type of cluster. Supported types are + * `BASIC_CLUSTER` + * `ENHANCED_CLUSTER` type: string controlPlaneEndpoint: description: ControlPlaneEndpoint represents the endpoint used to @@ -378,37 +474,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -417,8 +513,9 @@ spec: type: object type: array initialized: - description: Initialized denotes whether or not the control plane - has the uploaded kubernetes config-map. + description: |- + Initialized denotes whether or not the control plane has the + uploaded kubernetes config-map. type: boolean ready: type: boolean diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedcontrolplanetemplates.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedcontrolplanetemplates.yaml index 456a6aeb8..a6b20fa9e 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedcontrolplanetemplates.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedcontrolplanetemplates.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: ocimanagedcontrolplanetemplates.infrastructure.cluster.x-k8s.io spec: group: infrastructure.cluster.x-k8s.io @@ -23,14 +23,19 @@ spec: API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -43,9 +48,9 @@ spec: to create an OCIManagedControlPlane from a template. properties: spec: - description: OCIManagedControlPlaneSpec defines the desired state - of OCIManagedControlPlane. The properties are generated from - https://docs.oracle.com/en-us/iaas/api/#/en/containerengine/20180222/datatypes/CreateClusterDetails + description: |- + OCIManagedControlPlaneSpec defines the desired state of OCIManagedControlPlane. + The properties are generated from https://docs.oracle.com/en-us/iaas/api/#/en/containerengine/20180222/datatypes/CreateClusterDetails properties: clusterOptions: description: ClusterOptions defines Optional attributes for @@ -158,14 +163,19 @@ spec: API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -178,9 +188,9 @@ spec: to create an OCIManagedControlPlane from a template. properties: spec: - description: OCIManagedControlPlaneSpec defines the desired state - of OCIManagedControlPlane. The properties are generated from - https://docs.oracle.com/en-us/iaas/api/#/en/containerengine/20180222/datatypes/CreateClusterDetails + description: |- + OCIManagedControlPlaneSpec defines the desired state of OCIManagedControlPlane. + The properties are generated from https://docs.oracle.com/en-us/iaas/api/#/en/containerengine/20180222/datatypes/CreateClusterDetails properties: addons: description: The list of addons to be applied to the OKE cluster. @@ -243,6 +253,94 @@ spec: controller. type: boolean type: object + openIdConnectDiscovery: + description: OpenIDConnectDiscovery specifies OIDC discovery + settings + properties: + isOpenIdConnectDiscoveryEnabled: + description: IsOpenIDConnectDiscoveryEnabled defines + whether or not to enable the OIDC discovery. + type: boolean + type: object + openIdConnectTokenAuthenticationConfig: + description: OpenIDConnectTokenAuthenticationConfig + properties: + caCertificate: + description: A Base64 encoded public RSA or ECDSA + certificates used to sign your identity provider's + web certificate. + type: string + clientId: + description: A client id that all tokens must be issued + for. + type: string + groupsClaim: + description: JWT claim to use as the user's group. + If the claim is present it must be an array of strings. + type: string + groupsPrefix: + description: Prefix prepended to group claims to prevent + clashes with existing names (such as system:groups). + type: string + isOpenIdConnectAuthEnabled: + description: IsOpenIdConnectAuthEnabled defines whether + or not to enable the OIDC authentication. + type: boolean + issuerUrl: + description: URL of the provider that allows the API + server to discover public signing keys. Only URLs + that use the https:// scheme are accepted. This + is typically the provider's discovery URL, changed + to have an empty path. + type: string + requiredClaims: + description: A key=value pair that describes a required + claim in the ID Token. If set, the claim is verified + to be present in the ID Token with a matching value. + Repeat this flag to specify multiple claims. + items: + description: KeyValue The properties that define + a key value pair. + properties: + key: + description: The key of the pair. + type: string + value: + description: The value of the pair. + type: string + required: + - key + - value + type: object + type: array + signingAlgorithms: + description: The signing algorithms accepted. Default + is ["RS256"]. + items: + type: string + type: array + usernameClaim: + description: JWT claim to use as the user name. By + default sub, which is expected to be a unique identifier + of the end user. Admins can choose other claims, + such as email or name, depending on their provider. + However, claims other than email will be prefixed + with the issuer URL to prevent naming clashes with + other plugins. + type: string + usernamePrefix: + description: 'Prefix prepended to username claims + to prevent clashes with existing names (such as + system:users). For example, the value oidc: will + create usernames like oidc:jane.doe. If this flag + isn''t provided and --oidc-username-claim is a value + other than email the prefix defaults to ( Issuer + URL )# where ( Issuer URL ) is the value of --oidc-issuer-url. + The value - can be used to disable all prefixing.' + type: string + required: + - isOpenIdConnectAuthEnabled + type: object type: object clusterPodNetworkOptions: description: ClusterPodNetworkOptions defines the available @@ -260,8 +358,10 @@ spec: type: object type: array clusterType: - description: ClusterTypeEnum defines the type of cluster. - Supported types are * `BASIC_CLUSTER` * `ENHANCED_CLUSTER` + description: |- + ClusterTypeEnum defines the type of cluster. Supported types are + * `BASIC_CLUSTER` + * `ENHANCED_CLUSTER` type: string controlPlaneEndpoint: description: ControlPlaneEndpoint represents the endpoint diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedmachinepools.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedmachinepools.yaml index 19a84998e..eec689682 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedmachinepools.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedmachinepools.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: ocimanagedmachinepools.infrastructure.cluster.x-k8s.io spec: group: infrastructure.cluster.x-k8s.io @@ -21,21 +21,27 @@ spec: API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: - description: OCIManagedMachinePoolSpec defines the desired state of an - OCI managed machine pool. An OCIManagedMachinePool translates to an - OKE NodePool. The properties are generated from https://docs.oracle.com/en-us/iaas/api/#/en/containerengine/20180222/datatypes/CreateNodePoolDetails + description: |- + OCIManagedMachinePoolSpec defines the desired state of an OCI managed machine pool. + An OCIManagedMachinePool translates to an OKE NodePool. + The properties are generated from https://docs.oracle.com/en-us/iaas/api/#/en/containerengine/20180222/datatypes/CreateNodePoolDetails properties: id: description: ID is the OCID of the associated NodePool @@ -101,9 +107,9 @@ spec: options specific to using the OCI VCN Native CNI properties: maxPodsPerNode: - description: MemoryInGBs defines the max number of pods - per node in the node pool. This value will be limited - by the number of VNICs attachable to the node pool shape + description: |- + MemoryInGBs defines the max number of pods per node in the node pool. This value will be limited by the + number of VNICs attachable to the node pool shape type: integer nsgNames: description: NSGNames defines the NSGs associated with @@ -120,9 +126,9 @@ spec: type: object type: object nsgNames: - description: NsgNames defines the names of NSGs which will be - associated with the nodes. the NSGs are defined in OCIManagedCluster - object. + description: |- + NsgNames defines the names of NSGs which will be associated with the nodes. the NSGs are defined + in OCIManagedCluster object. items: type: string type: array @@ -149,9 +155,9 @@ spec: type: string type: array subnetName: - description: SubnetName defines the name of the subnet which - need ot be associated with the Nodepool. The subnets are - defined in the OCiManagedCluster object. + description: |- + SubnetName defines the name of the subnet which need ot be associated with the Nodepool. + The subnets are defined in the OCiManagedCluster object. type: string type: object type: array @@ -192,10 +198,9 @@ spec: a provider format type: string providerIDList: - description: ProviderIDList are the identification IDs of machine - instances provided by the provider. This field must match the provider - IDs as seen on the node objects corresponding to a machine pool's - machine instances. + description: |- + ProviderIDList are the identification IDs of machine instances provided by the provider. + This field must match the provider IDs as seen on the node objects corresponding to a machine pool's machine instances. items: type: string type: array @@ -218,37 +223,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -289,21 +294,27 @@ spec: API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: - description: OCIManagedMachinePoolSpec defines the desired state of an - OCI managed machine pool. An OCIManagedMachinePool translates to an - OKE NodePool. The properties are generated from https://docs.oracle.com/en-us/iaas/api/#/en/containerengine/20180222/datatypes/CreateNodePoolDetails + description: |- + OCIManagedMachinePoolSpec defines the desired state of an OCI managed machine pool. + An OCIManagedMachinePool translates to an OKE NodePool. + The properties are generated from https://docs.oracle.com/en-us/iaas/api/#/en/containerengine/20180222/datatypes/CreateNodePoolDetails properties: id: description: ID is the OCID of the associated NodePool @@ -353,17 +364,15 @@ spec: will be cycled to have new changes. type: boolean maximumSurge: - description: MaximumSurge refers to the maximum additional new - compute instances that would be temporarily created and added - to nodepool during the cycling nodepool process. OKE supports - both integer and percentage input. Defaults to 1, Ranges from - 0 to Nodepool size or 0% to 100% + description: |- + MaximumSurge refers to the maximum additional new compute instances that would be temporarily created and + added to nodepool during the cycling nodepool process. OKE supports both integer and percentage input. + Defaults to 1, Ranges from 0 to Nodepool size or 0% to 100% type: string maximumUnavailable: - description: Maximum active nodes that would be terminated from - nodepool during the cycling nodepool process. OKE supports both - integer and percentage input. Defaults to 0, Ranges from 0 to - Nodepool size or 0% to 100% + description: |- + Maximum active nodes that would be terminated from nodepool during the cycling nodepool process. + OKE supports both integer and percentage input. Defaults to 0, Ranges from 0 to Nodepool size or 0% to 100% type: string type: object nodePoolNodeConfig: @@ -391,9 +400,9 @@ spec: options specific to using the OCI VCN Native CNI properties: maxPodsPerNode: - description: MemoryInGBs defines the max number of pods - per node in the node pool. This value will be limited - by the number of VNICs attachable to the node pool shape + description: |- + MemoryInGBs defines the max number of pods per node in the node pool. This value will be limited by the + number of VNICs attachable to the node pool shape type: integer nsgNames: description: NSGNames defines the NSGs associated with @@ -410,9 +419,9 @@ spec: type: object type: object nsgNames: - description: NsgNames defines the names of NSGs which will be - associated with the nodes. the NSGs are defined in OCIManagedCluster - object. + description: |- + NsgNames defines the names of NSGs which will be associated with the nodes. the NSGs are defined + in OCIManagedCluster object. items: type: string type: array @@ -439,9 +448,9 @@ spec: type: string type: array subnetName: - description: SubnetName defines the name of the subnet which - need ot be associated with the Nodepool. The subnets are - defined in the OCiManagedCluster object. + description: |- + SubnetName defines the name of the subnet which need ot be associated with the Nodepool. + The subnets are defined in the OCiManagedCluster object. type: string type: object type: array @@ -482,10 +491,9 @@ spec: a provider format type: string providerIDList: - description: ProviderIDList are the identification IDs of machine - instances provided by the provider. This field must match the provider - IDs as seen on the node objects corresponding to a machine pool's - machine instances. + description: |- + ProviderIDList are the identification IDs of machine instances provided by the provider. + This field must match the provider IDs as seen on the node objects corresponding to a machine pool's machine instances. items: type: string type: array @@ -508,37 +516,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedmachinepooltemplates.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedmachinepooltemplates.yaml index 214732b3c..358c8dfeb 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedmachinepooltemplates.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_ocimanagedmachinepooltemplates.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: ocimanagedmachinepooltemplates.infrastructure.cluster.x-k8s.io spec: group: infrastructure.cluster.x-k8s.io @@ -23,14 +23,19 @@ spec: API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -43,9 +48,10 @@ spec: create an OCIManagedMachinePool from a template. properties: spec: - description: OCIManagedMachinePoolSpec defines the desired state - of an OCI managed machine pool. An OCIManagedMachinePool translates - to an OKE NodePool. The properties are generated from https://docs.oracle.com/en-us/iaas/api/#/en/containerengine/20180222/datatypes/CreateNodePoolDetails + description: |- + OCIManagedMachinePoolSpec defines the desired state of an OCI managed machine pool. + An OCIManagedMachinePool translates to an OKE NodePool. + The properties are generated from https://docs.oracle.com/en-us/iaas/api/#/en/containerengine/20180222/datatypes/CreateNodePoolDetails properties: id: description: ID is the OCID of the associated NodePool @@ -116,10 +122,9 @@ spec: Native CNI properties: maxPodsPerNode: - description: MemoryInGBs defines the max number - of pods per node in the node pool. This value - will be limited by the number of VNICs attachable - to the node pool shape + description: |- + MemoryInGBs defines the max number of pods per node in the node pool. This value will be limited by the + number of VNICs attachable to the node pool shape type: integer nsgNames: description: NSGNames defines the NSGs associated @@ -136,8 +141,8 @@ spec: type: object type: object nsgNames: - description: NsgNames defines the names of NSGs which - will be associated with the nodes. the NSGs are defined + description: |- + NsgNames defines the names of NSGs which will be associated with the nodes. the NSGs are defined in OCIManagedCluster object. items: type: string @@ -165,10 +170,9 @@ spec: type: string type: array subnetName: - description: SubnetName defines the name of the - subnet which need ot be associated with the Nodepool. - The subnets are defined in the OCiManagedCluster - object. + description: |- + SubnetName defines the name of the subnet which need ot be associated with the Nodepool. + The subnets are defined in the OCiManagedCluster object. type: string type: object type: array @@ -209,10 +213,9 @@ spec: in a provider format type: string providerIDList: - description: ProviderIDList are the identification IDs of - machine instances provided by the provider. This field must - match the provider IDs as seen on the node objects corresponding - to a machine pool's machine instances. + description: |- + ProviderIDList are the identification IDs of machine instances provided by the provider. + This field must match the provider IDs as seen on the node objects corresponding to a machine pool's machine instances. items: type: string type: array @@ -241,14 +244,19 @@ spec: API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -261,9 +269,10 @@ spec: create an OCIManagedMachinePool from a template. properties: spec: - description: OCIManagedMachinePoolSpec defines the desired state - of an OCI managed machine pool. An OCIManagedMachinePool translates - to an OKE NodePool. The properties are generated from https://docs.oracle.com/en-us/iaas/api/#/en/containerengine/20180222/datatypes/CreateNodePoolDetails + description: |- + OCIManagedMachinePoolSpec defines the desired state of an OCI managed machine pool. + An OCIManagedMachinePool translates to an OKE NodePool. + The properties are generated from https://docs.oracle.com/en-us/iaas/api/#/en/containerengine/20180222/datatypes/CreateNodePoolDetails properties: id: description: ID is the OCID of the associated NodePool @@ -316,17 +325,15 @@ spec: nodepool will be cycled to have new changes. type: boolean maximumSurge: - description: MaximumSurge refers to the maximum additional - new compute instances that would be temporarily created - and added to nodepool during the cycling nodepool process. - OKE supports both integer and percentage input. Defaults - to 1, Ranges from 0 to Nodepool size or 0% to 100% + description: |- + MaximumSurge refers to the maximum additional new compute instances that would be temporarily created and + added to nodepool during the cycling nodepool process. OKE supports both integer and percentage input. + Defaults to 1, Ranges from 0 to Nodepool size or 0% to 100% type: string maximumUnavailable: - description: Maximum active nodes that would be terminated - from nodepool during the cycling nodepool process. OKE - supports both integer and percentage input. Defaults - to 0, Ranges from 0 to Nodepool size or 0% to 100% + description: |- + Maximum active nodes that would be terminated from nodepool during the cycling nodepool process. + OKE supports both integer and percentage input. Defaults to 0, Ranges from 0 to Nodepool size or 0% to 100% type: string type: object nodePoolNodeConfig: @@ -356,10 +363,9 @@ spec: Native CNI properties: maxPodsPerNode: - description: MemoryInGBs defines the max number - of pods per node in the node pool. This value - will be limited by the number of VNICs attachable - to the node pool shape + description: |- + MemoryInGBs defines the max number of pods per node in the node pool. This value will be limited by the + number of VNICs attachable to the node pool shape type: integer nsgNames: description: NSGNames defines the NSGs associated @@ -376,8 +382,8 @@ spec: type: object type: object nsgNames: - description: NsgNames defines the names of NSGs which - will be associated with the nodes. the NSGs are defined + description: |- + NsgNames defines the names of NSGs which will be associated with the nodes. the NSGs are defined in OCIManagedCluster object. items: type: string @@ -405,10 +411,9 @@ spec: type: string type: array subnetName: - description: SubnetName defines the name of the - subnet which need ot be associated with the Nodepool. - The subnets are defined in the OCiManagedCluster - object. + description: |- + SubnetName defines the name of the subnet which need ot be associated with the Nodepool. + The subnets are defined in the OCiManagedCluster object. type: string type: object type: array @@ -449,10 +454,9 @@ spec: in a provider format type: string providerIDList: - description: ProviderIDList are the identification IDs of - machine instances provided by the provider. This field must - match the provider IDs as seen on the node objects corresponding - to a machine pool's machine instances. + description: |- + ProviderIDList are the identification IDs of machine instances provided by the provider. + This field must match the provider IDs as seen on the node objects corresponding to a machine pool's machine instances. items: type: string type: array diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_ocivirtualmachinepools.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_ocivirtualmachinepools.yaml index d272ff293..4df3273f6 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_ocivirtualmachinepools.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_ocivirtualmachinepools.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: ocivirtualmachinepools.infrastructure.cluster.x-k8s.io spec: group: infrastructure.cluster.x-k8s.io @@ -21,21 +21,27 @@ spec: API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: - description: OCIVirtualMachinePoolSpec defines the desired state of an - OCI virtual machine pool. An OCIVirtualMachinePool translates to an - OKE Virtual node poo;. The properties are generated from https://docs.oracle.com/en-us/iaas/api/#/en/containerengine/20180222/datatypes/CreateVirtualNodePoolDetails + description: |- + OCIVirtualMachinePoolSpec defines the desired state of an OCI virtual machine pool. + An OCIVirtualMachinePool translates to an OKE Virtual node poo;. + The properties are generated from https://docs.oracle.com/en-us/iaas/api/#/en/containerengine/20180222/datatypes/CreateVirtualNodePoolDetails properties: id: description: ID is the OCID of the associated NodePool @@ -55,8 +61,9 @@ spec: type: object type: array nsgNames: - description: NsgNames defines the names of NSGs which will be associated - with the nodes. the NSGs are defined in OCIManagedCluster object. + description: |- + NsgNames defines the names of NSGs which will be associated with the nodes. the NSGs are defined + in OCIManagedCluster object. items: type: string type: array @@ -76,9 +83,9 @@ spec: type: string type: array subnetName: - description: SubnetName defines the name of the subnet which - need to be associated with the Virtual Node Pool. The subnets - are defined in the OCiManagedCluster object. + description: |- + SubnetName defines the name of the subnet which need to be associated with the Virtual Node Pool. + The subnets are defined in the OCiManagedCluster object. type: string type: object type: array @@ -104,10 +111,9 @@ spec: a provider format type: string providerIDList: - description: ProviderIDList are the identification IDs of machine - instances provided by the provider. This field must match the provider - IDs as seen on the node objects corresponding to a machine pool's - machine instances. + description: |- + ProviderIDList are the identification IDs of machine instances provided by the provider. + This field must match the provider IDs as seen on the node objects corresponding to a machine pool's machine instances. items: type: string type: array @@ -140,37 +146,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime @@ -213,21 +219,27 @@ spec: API. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: - description: OCIVirtualMachinePoolSpec defines the desired state of an - OCI virtual machine pool. An OCIVirtualMachinePool translates to an - OKE Virtual node poo;. The properties are generated from https://docs.oracle.com/en-us/iaas/api/#/en/containerengine/20180222/datatypes/CreateVirtualNodePoolDetails + description: |- + OCIVirtualMachinePoolSpec defines the desired state of an OCI virtual machine pool. + An OCIVirtualMachinePool translates to an OKE Virtual node poo;. + The properties are generated from https://docs.oracle.com/en-us/iaas/api/#/en/containerengine/20180222/datatypes/CreateVirtualNodePoolDetails properties: id: description: ID is the OCID of the associated NodePool @@ -247,8 +259,9 @@ spec: type: object type: array nsgNames: - description: NsgNames defines the names of NSGs which will be associated - with the nodes. the NSGs are defined in OCIManagedCluster object. + description: |- + NsgNames defines the names of NSGs which will be associated with the nodes. the NSGs are defined + in OCIManagedCluster object. items: type: string type: array @@ -268,9 +281,9 @@ spec: type: string type: array subnetName: - description: SubnetName defines the name of the subnet which - need to be associated with the Virtual Node Pool. The subnets - are defined in the OCiManagedCluster object. + description: |- + SubnetName defines the name of the subnet which need to be associated with the Virtual Node Pool. + The subnets are defined in the OCiManagedCluster object. type: string type: object type: array @@ -296,10 +309,9 @@ spec: a provider format type: string providerIDList: - description: ProviderIDList are the identification IDs of machine - instances provided by the provider. This field must match the provider - IDs as seen on the node objects corresponding to a machine pool's - machine instances. + description: |- + ProviderIDList are the identification IDs of machine instances provided by the provider. + This field must match the provider IDs as seen on the node objects corresponding to a machine pool's machine instances. items: type: string type: array @@ -332,37 +344,37 @@ spec: operational state. properties: lastTransitionTime: - description: Last time the condition transitioned from one status - to another. This should be when the underlying condition changed. - If that is not known, then using the time when the API field - changed is acceptable. + description: |- + Last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when + the API field changed is acceptable. format: date-time type: string message: - description: A human readable message indicating details about - the transition. This field may be empty. + description: |- + A human readable message indicating details about the transition. + This field may be empty. type: string reason: - description: The reason for the condition's last transition - in CamelCase. The specific API may choose whether or not this - field is considered a guaranteed API. This field may not be - empty. + description: |- + The reason for the condition's last transition in CamelCase. + The specific API may choose whether or not this field is considered a guaranteed API. + This field may not be empty. type: string severity: - description: Severity provides an explicit classification of - Reason code, so the users or machines can immediately understand - the current situation and act accordingly. The Severity field - MUST be set only when Status=False. + description: |- + Severity provides an explicit classification of Reason code, so the users or machines can immediately + understand the current situation and act accordingly. + The Severity field MUST be set only when Status=False. type: string status: description: Status of the condition, one of True, False, Unknown. type: string type: - description: Type of condition in CamelCase or in foo.example.com/CamelCase. - Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. + description: |- + Type of condition in CamelCase or in foo.example.com/CamelCase. + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability to deconflict is important. type: string required: - lastTransitionTime diff --git a/config/default/manager_image_patch.yaml b/config/default/manager_image_patch.yaml index 8c128d2e8..49e99b9f2 100644 --- a/config/default/manager_image_patch.yaml +++ b/config/default/manager_image_patch.yaml @@ -8,5 +8,5 @@ spec: spec: containers: # Change the value of image field below to your controller image URL - - image: ghcr.io/oracle/cluster-api-oci-controller-amd64:dev - name: manager \ No newline at end of file + - image: tsmini/cluster-api-oci-controller-amd64:dev + name: manager diff --git a/go.mod b/go.mod index b226ea485..d53ce2f9c 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( github.com/google/gofuzz v1.2.0 github.com/onsi/ginkgo/v2 v2.17.1 github.com/onsi/gomega v1.32.0 - github.com/oracle/oci-go-sdk/v65 v65.70.0 + github.com/oracle/oci-go-sdk/v65 v65.79.0 github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.18.0 github.com/spf13/pflag v1.0.5 diff --git a/go.sum b/go.sum index b90c31fae..165a7f43e 100644 --- a/go.sum +++ b/go.sum @@ -199,8 +199,8 @@ github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8 github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/oracle/oci-go-sdk/v65 v65.70.0 h1:gLa0IX/SidTm60VbHabnImrW3hyymmNLQJy6gZGrgDA= -github.com/oracle/oci-go-sdk/v65 v65.70.0/go.mod h1:IBEV9l1qBzUpo7zgGaRUhbB05BVfcDGYRFBCPlTcPp0= +github.com/oracle/oci-go-sdk/v65 v65.79.0 h1:Tv9L1XTKWkdXtSViMbP+dA93WunquvW++/2s5pOvOgU= +github.com/oracle/oci-go-sdk/v65 v65.79.0/go.mod h1:IBEV9l1qBzUpo7zgGaRUhbB05BVfcDGYRFBCPlTcPp0= github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=