diff --git a/apis/installer/v1alpha1/provider_aws_types.go b/apis/installer/v1alpha1/provider_aws_types.go
new file mode 100644
index 000000000..3aaee3282
--- /dev/null
+++ b/apis/installer/v1alpha1/provider_aws_types.go
@@ -0,0 +1,88 @@
+/*
+Copyright AppsCode Inc. and Contributors
+
+Licensed under the AppsCode Community License 1.0.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ https://github.com/appscode/licenses/raw/1.0.0/AppsCode-Community-1.0.0.md
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package v1alpha1
+
+import (
+ core "k8s.io/api/core/v1"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+)
+
+const (
+ ResourceKindKubedbProviderAws = "KubedbProviderAws"
+ ResourceKubedbProviderAws = "kubedbprovideraws"
+ ResourceKubedbProviderAwss = "kubedbproviderawss"
+)
+
+// KubedbProviderAws defines the schama for Kubeform AWS provider installer.
+
+// +genclient
+// +genclient:skipVerbs=updateStatus
+// +k8s:openapi-gen=true
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// +kubebuilder:object:root=true
+// +kubebuilder:resource:path=kubedbproviderawss,singular=kubedbprovideraws,categories={kubeform,appscode}
+type KubedbProviderAws struct {
+ metav1.TypeMeta `json:",inline,omitempty"`
+ metav1.ObjectMeta `json:"metadata,omitempty"`
+ Spec KubedbProviderAwsSpec `json:"spec,omitempty"`
+}
+
+// KubedbProviderAwsSpec is the schema for Identity Server values file
+type KubedbProviderAwsSpec struct {
+ //+optional
+ NameOverride string `json:"nameOverride"`
+ //+optional
+ FullnameOverride string `json:"fullnameOverride"`
+ ReplicaCount int `json:"replicaCount"`
+ RegistryFQDN string `json:"registryFQDN"`
+ Image Container `json:"image"`
+ //+optional
+ ImagePullSecrets []string `json:"imagePullSecrets"`
+ ImagePullPolicy string `json:"imagePullPolicy"`
+ ServiceAccount ServiceAccountSpec `json:"serviceAccount"`
+ //+optional
+ PodAnnotations map[string]string `json:"podAnnotations"`
+ // PodSecurityContext holds pod-level security attributes and common container settings.
+ // Optional: Defaults to empty. See type description for default values of each field.
+ // +optional
+ PodSecurityContext *core.PodSecurityContext `json:"podSecurityContext"`
+ //+optional
+ NodeSelector map[string]string `json:"nodeSelector"`
+ // If specified, the pod's tolerations.
+ // +optional
+ Tolerations []core.Toleration `json:"tolerations"`
+ // If specified, the pod's scheduling constraints
+ // +optional
+ Affinity *core.Affinity `json:"affinity"`
+ Monitoring EASMonitoring `json:"monitoring"`
+ Aws AwsProviderConfig `json:"aws"`
+}
+
+type AwsProviderConfig struct {
+ SecretName string `json:"secretName"`
+}
+
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// KubedbProviderAwsList is a list of KubedbProviderAwss
+type KubedbProviderAwsList struct {
+ metav1.TypeMeta `json:",inline"`
+ metav1.ListMeta `json:"metadata,omitempty"`
+ // Items is a list of KubedbProviderAws CRD objects
+ Items []KubedbProviderAws `json:"items,omitempty"`
+}
diff --git a/apis/installer/v1alpha1/provider_azure_types.go b/apis/installer/v1alpha1/provider_azure_types.go
new file mode 100644
index 000000000..ec75bb249
--- /dev/null
+++ b/apis/installer/v1alpha1/provider_azure_types.go
@@ -0,0 +1,88 @@
+/*
+Copyright AppsCode Inc. and Contributors
+
+Licensed under the AppsCode Community License 1.0.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ https://github.com/appscode/licenses/raw/1.0.0/AppsCode-Community-1.0.0.md
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package v1alpha1
+
+import (
+ core "k8s.io/api/core/v1"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+)
+
+const (
+ ResourceKindKubedbProviderAzure = "KubedbProviderAzure"
+ ResourceKubedbProviderAzure = "kubedbproviderazure"
+ ResourceKubedbProviderAzures = "kubedbproviderazures"
+)
+
+// KubedbProviderAzure defines the schama for Kubeform AWS provider installer.
+
+// +genclient
+// +genclient:skipVerbs=updateStatus
+// +k8s:openapi-gen=true
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// +kubebuilder:object:root=true
+// +kubebuilder:resource:path=kubedbproviderazures,singular=kubedbproviderazure,categories={kubeform,appscode}
+type KubedbProviderAzure struct {
+ metav1.TypeMeta `json:",inline,omitempty"`
+ metav1.ObjectMeta `json:"metadata,omitempty"`
+ Spec KubedbProviderAzureSpec `json:"spec,omitempty"`
+}
+
+// KubedbProviderAzureSpec is the schema for Identity Server values file
+type KubedbProviderAzureSpec struct {
+ //+optional
+ NameOverride string `json:"nameOverride"`
+ //+optional
+ FullnameOverride string `json:"fullnameOverride"`
+ ReplicaCount int `json:"replicaCount"`
+ RegistryFQDN string `json:"registryFQDN"`
+ Image Container `json:"image"`
+ //+optional
+ ImagePullSecrets []string `json:"imagePullSecrets"`
+ ImagePullPolicy string `json:"imagePullPolicy"`
+ ServiceAccount ServiceAccountSpec `json:"serviceAccount"`
+ //+optional
+ PodAnnotations map[string]string `json:"podAnnotations"`
+ // PodSecurityContext holds pod-level security attributes and common container settings.
+ // Optional: Defaults to empty. See type description for default values of each field.
+ // +optional
+ PodSecurityContext *core.PodSecurityContext `json:"podSecurityContext"`
+ //+optional
+ NodeSelector map[string]string `json:"nodeSelector"`
+ // If specified, the pod's tolerations.
+ // +optional
+ Tolerations []core.Toleration `json:"tolerations"`
+ // If specified, the pod's scheduling constraints
+ // +optional
+ Affinity *core.Affinity `json:"affinity"`
+ Monitoring EASMonitoring `json:"monitoring"`
+ Azure AzureProviderConfig `json:"azure"`
+}
+
+type AzureProviderConfig struct {
+ SecretName string `json:"secretName"`
+}
+
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// KubedbProviderAzureList is a list of KubedbProviderAzures
+type KubedbProviderAzureList struct {
+ metav1.TypeMeta `json:",inline"`
+ metav1.ListMeta `json:"metadata,omitempty"`
+ // Items is a list of KubedbProviderAzure CRD objects
+ Items []KubedbProviderAzure `json:"items,omitempty"`
+}
diff --git a/apis/installer/v1alpha1/provider_gcp_types.go b/apis/installer/v1alpha1/provider_gcp_types.go
new file mode 100644
index 000000000..5860dddf3
--- /dev/null
+++ b/apis/installer/v1alpha1/provider_gcp_types.go
@@ -0,0 +1,89 @@
+/*
+Copyright AppsCode Inc. and Contributors
+
+Licensed under the AppsCode Community License 1.0.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ https://github.com/appscode/licenses/raw/1.0.0/AppsCode-Community-1.0.0.md
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package v1alpha1
+
+import (
+ core "k8s.io/api/core/v1"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+)
+
+const (
+ ResourceKindKubedbProviderGcp = "KubedbProviderGcp"
+ ResourceKubedbProviderGcp = "kubedbprovidergcp"
+ ResourceKubedbProviderGcps = "kubedbprovidergcps"
+)
+
+// KubedbProviderGcp defines the schama for Kubeform AWS provider installer.
+
+// +genclient
+// +genclient:skipVerbs=updateStatus
+// +k8s:openapi-gen=true
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// +kubebuilder:object:root=true
+// +kubebuilder:resource:path=kubedbprovidergcps,singular=kubedbprovidergcp,categories={kubeform,appscode}
+type KubedbProviderGcp struct {
+ metav1.TypeMeta `json:",inline,omitempty"`
+ metav1.ObjectMeta `json:"metadata,omitempty"`
+ Spec KubedbProviderGcpSpec `json:"spec,omitempty"`
+}
+
+// KubedbProviderGcpSpec is the schema for Identity Server values file
+type KubedbProviderGcpSpec struct {
+ //+optional
+ NameOverride string `json:"nameOverride"`
+ //+optional
+ FullnameOverride string `json:"fullnameOverride"`
+ ReplicaCount int `json:"replicaCount"`
+ RegistryFQDN string `json:"registryFQDN"`
+ Image Container `json:"image"`
+ //+optional
+ ImagePullSecrets []string `json:"imagePullSecrets"`
+ ImagePullPolicy string `json:"imagePullPolicy"`
+ ServiceAccount ServiceAccountSpec `json:"serviceAccount"`
+ //+optional
+ PodAnnotations map[string]string `json:"podAnnotations"`
+ // PodSecurityContext holds pod-level security attributes and common container settings.
+ // Optional: Defaults to empty. See type description for default values of each field.
+ // +optional
+ PodSecurityContext *core.PodSecurityContext `json:"podSecurityContext"`
+ //+optional
+ NodeSelector map[string]string `json:"nodeSelector"`
+ // If specified, the pod's tolerations.
+ // +optional
+ Tolerations []core.Toleration `json:"tolerations"`
+ // If specified, the pod's scheduling constraints
+ // +optional
+ Affinity *core.Affinity `json:"affinity"`
+ Monitoring EASMonitoring `json:"monitoring"`
+ Gcp GcpProviderConfig `json:"gcp"`
+}
+
+type GcpProviderConfig struct {
+ ProjectID string `json:"projectID"`
+ SecretName string `json:"secretName"`
+}
+
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// KubedbProviderGcpList is a list of KubedbProviderGcps
+type KubedbProviderGcpList struct {
+ metav1.TypeMeta `json:",inline"`
+ metav1.ListMeta `json:"metadata,omitempty"`
+ // Items is a list of KubedbProviderGcp CRD objects
+ Items []KubedbProviderGcp `json:"items,omitempty"`
+}
diff --git a/apis/installer/v1alpha1/types_test.go b/apis/installer/v1alpha1/types_test.go
index a58434408..9cd98bf81 100644
--- a/apis/installer/v1alpha1/types_test.go
+++ b/apis/installer/v1alpha1/types_test.go
@@ -27,13 +27,16 @@ import (
func TestDefaultValues(t *testing.T) {
checker := schemachecker.New(os.DirFS("../../.."),
+ schemachecker.TestCase{Obj: v1alpha1.KubedbProviderAwsSpec{}},
+ schemachecker.TestCase{Obj: v1alpha1.KubedbProviderAzureSpec{}},
+ schemachecker.TestCase{Obj: v1alpha1.KubedbProviderGcpSpec{}},
schemachecker.TestCase{Obj: v1alpha1.KubedbAutoscalerSpec{}},
schemachecker.TestCase{Obj: v1alpha1.KubedbCatalogSpec{}},
schemachecker.TestCase{Obj: v1alpha1.KubedbDashboardSpec{}},
- schemachecker.TestCase{Obj: v1alpha1.KubedbSpec{}},
schemachecker.TestCase{Obj: v1alpha1.KubedbOpsManagerSpec{}},
schemachecker.TestCase{Obj: v1alpha1.KubedbProvisionerSpec{}},
schemachecker.TestCase{Obj: v1alpha1.KubedbSchemaManagerSpec{}},
+ schemachecker.TestCase{Obj: v1alpha1.KubedbSpec{}},
schemachecker.TestCase{Obj: v1alpha1.KubedbUiServerSpec{}},
schemachecker.TestCase{Obj: v1alpha1.KubedbWebhookServerSpec{}},
)
diff --git a/apis/installer/v1alpha1/zz_generated.deepcopy.go b/apis/installer/v1alpha1/zz_generated.deepcopy.go
index 5399502fd..806b110ec 100644
--- a/apis/installer/v1alpha1/zz_generated.deepcopy.go
+++ b/apis/installer/v1alpha1/zz_generated.deepcopy.go
@@ -26,6 +26,38 @@ import (
runtime "k8s.io/apimachinery/pkg/runtime"
)
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *AwsProviderConfig) DeepCopyInto(out *AwsProviderConfig) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AwsProviderConfig.
+func (in *AwsProviderConfig) DeepCopy() *AwsProviderConfig {
+ if in == nil {
+ return nil
+ }
+ out := new(AwsProviderConfig)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *AzureProviderConfig) DeepCopyInto(out *AzureProviderConfig) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureProviderConfig.
+func (in *AzureProviderConfig) DeepCopy() *AzureProviderConfig {
+ if in == nil {
+ return nil
+ }
+ out := new(AzureProviderConfig)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Catalog) DeepCopyInto(out *Catalog) {
*out = *in
@@ -116,6 +148,22 @@ func (in *EASSpec) DeepCopy() *EASSpec {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *GcpProviderConfig) DeepCopyInto(out *GcpProviderConfig) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GcpProviderConfig.
+func (in *GcpProviderConfig) DeepCopy() *GcpProviderConfig {
+ if in == nil {
+ return nil
+ }
+ out := new(GcpProviderConfig)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GlobalValues) DeepCopyInto(out *GlobalValues) {
*out = *in
@@ -806,6 +854,354 @@ func (in *KubedbOpsManagerValues) DeepCopy() *KubedbOpsManagerValues {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *KubedbProviderAws) DeepCopyInto(out *KubedbProviderAws) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
+ in.Spec.DeepCopyInto(&out.Spec)
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubedbProviderAws.
+func (in *KubedbProviderAws) DeepCopy() *KubedbProviderAws {
+ if in == nil {
+ return nil
+ }
+ out := new(KubedbProviderAws)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *KubedbProviderAws) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *KubedbProviderAwsList) DeepCopyInto(out *KubedbProviderAwsList) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
+ if in.Items != nil {
+ in, out := &in.Items, &out.Items
+ *out = make([]KubedbProviderAws, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubedbProviderAwsList.
+func (in *KubedbProviderAwsList) DeepCopy() *KubedbProviderAwsList {
+ if in == nil {
+ return nil
+ }
+ out := new(KubedbProviderAwsList)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *KubedbProviderAwsList) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *KubedbProviderAwsSpec) DeepCopyInto(out *KubedbProviderAwsSpec) {
+ *out = *in
+ in.Image.DeepCopyInto(&out.Image)
+ if in.ImagePullSecrets != nil {
+ in, out := &in.ImagePullSecrets, &out.ImagePullSecrets
+ *out = make([]string, len(*in))
+ copy(*out, *in)
+ }
+ in.ServiceAccount.DeepCopyInto(&out.ServiceAccount)
+ if in.PodAnnotations != nil {
+ in, out := &in.PodAnnotations, &out.PodAnnotations
+ *out = make(map[string]string, len(*in))
+ for key, val := range *in {
+ (*out)[key] = val
+ }
+ }
+ if in.PodSecurityContext != nil {
+ in, out := &in.PodSecurityContext, &out.PodSecurityContext
+ *out = new(v1.PodSecurityContext)
+ (*in).DeepCopyInto(*out)
+ }
+ if in.NodeSelector != nil {
+ in, out := &in.NodeSelector, &out.NodeSelector
+ *out = make(map[string]string, len(*in))
+ for key, val := range *in {
+ (*out)[key] = val
+ }
+ }
+ if in.Tolerations != nil {
+ in, out := &in.Tolerations, &out.Tolerations
+ *out = make([]v1.Toleration, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ if in.Affinity != nil {
+ in, out := &in.Affinity, &out.Affinity
+ *out = new(v1.Affinity)
+ (*in).DeepCopyInto(*out)
+ }
+ in.Monitoring.DeepCopyInto(&out.Monitoring)
+ out.Aws = in.Aws
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubedbProviderAwsSpec.
+func (in *KubedbProviderAwsSpec) DeepCopy() *KubedbProviderAwsSpec {
+ if in == nil {
+ return nil
+ }
+ out := new(KubedbProviderAwsSpec)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *KubedbProviderAzure) DeepCopyInto(out *KubedbProviderAzure) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
+ in.Spec.DeepCopyInto(&out.Spec)
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubedbProviderAzure.
+func (in *KubedbProviderAzure) DeepCopy() *KubedbProviderAzure {
+ if in == nil {
+ return nil
+ }
+ out := new(KubedbProviderAzure)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *KubedbProviderAzure) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *KubedbProviderAzureList) DeepCopyInto(out *KubedbProviderAzureList) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
+ if in.Items != nil {
+ in, out := &in.Items, &out.Items
+ *out = make([]KubedbProviderAzure, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubedbProviderAzureList.
+func (in *KubedbProviderAzureList) DeepCopy() *KubedbProviderAzureList {
+ if in == nil {
+ return nil
+ }
+ out := new(KubedbProviderAzureList)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *KubedbProviderAzureList) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *KubedbProviderAzureSpec) DeepCopyInto(out *KubedbProviderAzureSpec) {
+ *out = *in
+ in.Image.DeepCopyInto(&out.Image)
+ if in.ImagePullSecrets != nil {
+ in, out := &in.ImagePullSecrets, &out.ImagePullSecrets
+ *out = make([]string, len(*in))
+ copy(*out, *in)
+ }
+ in.ServiceAccount.DeepCopyInto(&out.ServiceAccount)
+ if in.PodAnnotations != nil {
+ in, out := &in.PodAnnotations, &out.PodAnnotations
+ *out = make(map[string]string, len(*in))
+ for key, val := range *in {
+ (*out)[key] = val
+ }
+ }
+ if in.PodSecurityContext != nil {
+ in, out := &in.PodSecurityContext, &out.PodSecurityContext
+ *out = new(v1.PodSecurityContext)
+ (*in).DeepCopyInto(*out)
+ }
+ if in.NodeSelector != nil {
+ in, out := &in.NodeSelector, &out.NodeSelector
+ *out = make(map[string]string, len(*in))
+ for key, val := range *in {
+ (*out)[key] = val
+ }
+ }
+ if in.Tolerations != nil {
+ in, out := &in.Tolerations, &out.Tolerations
+ *out = make([]v1.Toleration, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ if in.Affinity != nil {
+ in, out := &in.Affinity, &out.Affinity
+ *out = new(v1.Affinity)
+ (*in).DeepCopyInto(*out)
+ }
+ in.Monitoring.DeepCopyInto(&out.Monitoring)
+ out.Azure = in.Azure
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubedbProviderAzureSpec.
+func (in *KubedbProviderAzureSpec) DeepCopy() *KubedbProviderAzureSpec {
+ if in == nil {
+ return nil
+ }
+ out := new(KubedbProviderAzureSpec)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *KubedbProviderGcp) DeepCopyInto(out *KubedbProviderGcp) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
+ in.Spec.DeepCopyInto(&out.Spec)
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubedbProviderGcp.
+func (in *KubedbProviderGcp) DeepCopy() *KubedbProviderGcp {
+ if in == nil {
+ return nil
+ }
+ out := new(KubedbProviderGcp)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *KubedbProviderGcp) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *KubedbProviderGcpList) DeepCopyInto(out *KubedbProviderGcpList) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
+ if in.Items != nil {
+ in, out := &in.Items, &out.Items
+ *out = make([]KubedbProviderGcp, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubedbProviderGcpList.
+func (in *KubedbProviderGcpList) DeepCopy() *KubedbProviderGcpList {
+ if in == nil {
+ return nil
+ }
+ out := new(KubedbProviderGcpList)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *KubedbProviderGcpList) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *KubedbProviderGcpSpec) DeepCopyInto(out *KubedbProviderGcpSpec) {
+ *out = *in
+ in.Image.DeepCopyInto(&out.Image)
+ if in.ImagePullSecrets != nil {
+ in, out := &in.ImagePullSecrets, &out.ImagePullSecrets
+ *out = make([]string, len(*in))
+ copy(*out, *in)
+ }
+ in.ServiceAccount.DeepCopyInto(&out.ServiceAccount)
+ if in.PodAnnotations != nil {
+ in, out := &in.PodAnnotations, &out.PodAnnotations
+ *out = make(map[string]string, len(*in))
+ for key, val := range *in {
+ (*out)[key] = val
+ }
+ }
+ if in.PodSecurityContext != nil {
+ in, out := &in.PodSecurityContext, &out.PodSecurityContext
+ *out = new(v1.PodSecurityContext)
+ (*in).DeepCopyInto(*out)
+ }
+ if in.NodeSelector != nil {
+ in, out := &in.NodeSelector, &out.NodeSelector
+ *out = make(map[string]string, len(*in))
+ for key, val := range *in {
+ (*out)[key] = val
+ }
+ }
+ if in.Tolerations != nil {
+ in, out := &in.Tolerations, &out.Tolerations
+ *out = make([]v1.Toleration, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ if in.Affinity != nil {
+ in, out := &in.Affinity, &out.Affinity
+ *out = new(v1.Affinity)
+ (*in).DeepCopyInto(*out)
+ }
+ in.Monitoring.DeepCopyInto(&out.Monitoring)
+ out.Gcp = in.Gcp
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubedbProviderGcpSpec.
+func (in *KubedbProviderGcpSpec) DeepCopy() *KubedbProviderGcpSpec {
+ if in == nil {
+ return nil
+ }
+ out := new(KubedbProviderGcpSpec)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *KubedbProvisioner) DeepCopyInto(out *KubedbProvisioner) {
*out = *in
diff --git a/charts/kubedb-provider-aws/.helmignore b/charts/kubedb-provider-aws/.helmignore
new file mode 100644
index 000000000..e03134ce3
--- /dev/null
+++ b/charts/kubedb-provider-aws/.helmignore
@@ -0,0 +1,23 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.terraform
+*.tfstate*
diff --git a/charts/kubedb-provider-aws/Chart.yaml b/charts/kubedb-provider-aws/Chart.yaml
new file mode 100755
index 000000000..c93e96c35
--- /dev/null
+++ b/charts/kubedb-provider-aws/Chart.yaml
@@ -0,0 +1,13 @@
+apiVersion: v2
+name: kubedb-provider-aws
+description: A Helm chart for KubeDB AWS Provider for Crossplane
+type: application
+version: v0.0.1
+appVersion: v0.0.1
+home: https://github.com/kubedb/provider-aws
+icon: https://cdn.appscode.com/images/products/searchlight/icons/android-icon-192x192.png
+sources:
+- https://github.com/kubedb/provider-aws
+maintainers:
+- name: appscode
+ email: support@appscode.com
diff --git a/charts/kubedb-provider-aws/README.md b/charts/kubedb-provider-aws/README.md
new file mode 100644
index 000000000..a52188c2c
--- /dev/null
+++ b/charts/kubedb-provider-aws/README.md
@@ -0,0 +1,85 @@
+# KubeDB AWS Provider
+
+[KubeDB AWS Provider for Crossplane](https://github.com/kubedb/provider-aws) - KubeDB AWS provider for Crossplane
+
+## TL;DR;
+
+```bash
+$ helm repo add appscode https://charts.appscode.com/stable/
+$ helm repo update
+$ helm search repo appscode/kubedb-provider-aws --version=v0.0.1
+$ helm upgrade -i kubedb-provider-aws appscode/kubedb-provider-aws -n crossplane-system --create-namespace --version=v0.0.1
+```
+
+## Introduction
+
+This chart deploys a KubeDB AWS provider on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
+
+## Prerequisites
+
+- Kubernetes 1.21+
+
+## Installing the Chart
+
+To install/upgrade the chart with the release name `kubedb-provider-aws`:
+
+```bash
+$ helm upgrade -i kubedb-provider-aws appscode/kubedb-provider-aws -n crossplane-system --create-namespace --version=v0.0.1
+```
+
+The command deploys a KubeDB AWS provider on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation.
+
+> **Tip**: List all releases using `helm list`
+
+## Uninstalling the Chart
+
+To uninstall the `kubedb-provider-aws`:
+
+```bash
+$ helm uninstall kubedb-provider-aws -n crossplane-system
+```
+
+The command removes all the Kubernetes components associated with the chart and deletes the release.
+
+## Configuration
+
+The following table lists the configurable parameters of the `kubedb-provider-aws` chart and their default values.
+
+| Parameter | Description | Default |
+|----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| nameOverride | Overrides name template | ""
|
+| fullnameOverride | Overrides fullname template | ""
|
+| replicaCount | | 1
|
+| registryFQDN | Docker registry fqdn used to pull docker images Set this to use docker registry hosted at ${registryFQDN}/${registry}/${image} | ghcr.io
|
+| image.registry | Docker registry used to pull operator image | kubedb
|
+| image.repository | Name of operator container image | provider-aws
|
+| image.tag | Overrides the image tag whose default is the chart appVersion. | ""
|
+| image.resources | Compute Resources required by the operator container | {}
|
+| image.securityContext | Security options the operator container should run with | {"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsNonRoot":true,"runAsUser":65534,"seccompProfile":{"type":"RuntimeDefault"}}
|
+| imagePullSecrets | Specify an array of imagePullSecrets. Secrets must be manually created in the namespace.
Example:
`helm template charts/stash \`
`--set imagePullSecrets[0].name=sec0 \`
`--set imagePullSecrets[1].name=sec1` | []
|
+| imagePullPolicy | Container image pull policy | Always
|
+| serviceAccount.create | Specifies whether a service account should be created | true
|
+| serviceAccount.annotations | Annotations to add to the service account | {}
|
+| serviceAccount.name | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | ""
|
+| podAnnotations | | {}
|
+| podSecurityContext | | {}
|
+| nodeSelector | | {}
|
+| tolerations | | []
|
+| affinity | | {}
|
+| monitoring.agent | Name of monitoring agent (one of "prometheus.io", "prometheus.io/operator", "prometheus.io/builtin") | ""
|
+| monitoring.serviceMonitor.labels | Specify the labels for ServiceMonitor. Prometheus crd will select ServiceMonitor using these labels. Only usable when monitoring agent is `prometheus.io/operator`. | {}
|
+| aws.secretName | | "aws-credential"
|
+
+
+Specify each parameter using the `--set key=value[,key=value]` argument to `helm upgrade -i`. For example:
+
+```bash
+$ helm upgrade -i kubedb-provider-aws appscode/kubedb-provider-aws -n crossplane-system --create-namespace --version=v0.0.1 --set replicaCount=1
+```
+
+Alternatively, a YAML file that specifies the values for the parameters can be provided while
+installing the chart. For example:
+
+```bash
+$ helm upgrade -i kubedb-provider-aws appscode/kubedb-provider-aws -n crossplane-system --create-namespace --version=v0.0.1 --values values.yaml
+```
diff --git a/charts/kubedb-provider-aws/crds/aws.kubedb.com_providerconfigs.yaml b/charts/kubedb-provider-aws/crds/aws.kubedb.com_providerconfigs.yaml
new file mode 100644
index 000000000..105336559
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/aws.kubedb.com_providerconfigs.yaml
@@ -0,0 +1,152 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: providerconfigs.aws.kubedb.com
+spec:
+ group: aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - provider
+ - aws
+ kind: ProviderConfig
+ listKind: ProviderConfigList
+ plural: providerconfigs
+ singular: providerconfig
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ - jsonPath: .spec.credentials.secretRef.name
+ name: SECRET-NAME
+ priority: 1
+ type: string
+ name: v1beta1
+ schema:
+ openAPIV3Schema:
+ description: A ProviderConfig configures a AWS provider.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: A ProviderConfigSpec defines the desired state of a ProviderConfig.
+ properties:
+ credentials:
+ description: Credentials required to authenticate to this provider.
+ properties:
+ env:
+ description: Env is a reference to an environment variable that
+ contains credentials that must be used to connect to the provider.
+ properties:
+ name:
+ description: Name is the name of an environment variable.
+ type: string
+ required:
+ - name
+ type: object
+ fs:
+ description: Fs is a reference to a filesystem location that contains
+ credentials that must be used to connect to the provider.
+ properties:
+ path:
+ description: Path is a filesystem path.
+ type: string
+ required:
+ - path
+ type: object
+ secretRef:
+ description: A SecretRef is a reference to a secret key that contains
+ the credentials that must be used to connect to the provider.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ source:
+ description: Source of the provider credentials.
+ enum:
+ - None
+ - Secret
+ - InjectedIdentity
+ - Environment
+ - Filesystem
+ type: string
+ required:
+ - source
+ type: object
+ required:
+ - credentials
+ type: object
+ status:
+ description: A ProviderConfigStatus reflects the observed state of a ProviderConfig.
+ properties:
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ users:
+ description: Users of this provider configuration.
+ format: int64
+ type: integer
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/aws.kubedb.com_providerconfigusages.yaml b/charts/kubedb-provider-aws/crds/aws.kubedb.com_providerconfigusages.yaml
new file mode 100644
index 000000000..a3039a44c
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/aws.kubedb.com_providerconfigusages.yaml
@@ -0,0 +1,110 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: providerconfigusages.aws.kubedb.com
+spec:
+ group: aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - provider
+ - aws
+ kind: ProviderConfigUsage
+ listKind: ProviderConfigUsageList
+ plural: providerconfigusages
+ singular: providerconfigusage
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ - jsonPath: .providerConfigRef.name
+ name: CONFIG-NAME
+ type: string
+ - jsonPath: .resourceRef.kind
+ name: RESOURCE-KIND
+ type: string
+ - jsonPath: .resourceRef.name
+ name: RESOURCE-NAME
+ type: string
+ name: v1beta1
+ schema:
+ openAPIV3Schema:
+ description: A ProviderConfigUsage indicates that a resource is using a ProviderConfig.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ providerConfigRef:
+ description: ProviderConfigReference to the provider config being used.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this reference
+ is required. The default is 'Required', which means the reconcile
+ will fail if the reference cannot be resolved. 'Optional' means
+ this reference will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should be resolved.
+ The default is 'IfNotPresent', which will attempt to resolve
+ the reference only when the corresponding field is not present.
+ Use 'Always' to resolve the reference on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ resourceRef:
+ description: ResourceReference to the managed resource using the provider
+ config.
+ properties:
+ apiVersion:
+ description: APIVersion of the referenced object.
+ type: string
+ kind:
+ description: Kind of the referenced object.
+ type: string
+ name:
+ description: Name of the referenced object.
+ type: string
+ uid:
+ description: UID of the referenced object.
+ type: string
+ required:
+ - apiVersion
+ - kind
+ - name
+ type: object
+ required:
+ - providerConfigRef
+ - resourceRef
+ type: object
+ served: true
+ storage: true
+ subresources: {}
diff --git a/charts/kubedb-provider-aws/crds/aws.kubedb.com_storeconfigs.yaml b/charts/kubedb-provider-aws/crds/aws.kubedb.com_storeconfigs.yaml
new file mode 100644
index 000000000..19a35a2bb
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/aws.kubedb.com_storeconfigs.yaml
@@ -0,0 +1,342 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: storeconfigs.aws.kubedb.com
+spec:
+ group: aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - store
+ - gcp
+ kind: StoreConfig
+ listKind: StoreConfigList
+ plural: storeconfigs
+ singular: storeconfig
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ - jsonPath: .spec.type
+ name: TYPE
+ type: string
+ - jsonPath: .spec.defaultScope
+ name: DEFAULT-SCOPE
+ type: string
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: A StoreConfig configures how GCP controller should store connection
+ details.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: A StoreConfigSpec defines the desired state of a ProviderConfig.
+ properties:
+ defaultScope:
+ description: DefaultScope used for scoping secrets for "cluster-scoped"
+ resources. If store type is "Kubernetes", this would mean the default
+ namespace to store connection secrets for cluster scoped resources.
+ In case of "Vault", this would be used as the default parent path.
+ Typically, should be set as Crossplane installation namespace.
+ type: string
+ kubernetes:
+ description: Kubernetes configures a Kubernetes secret store. If the
+ "type" is "Kubernetes" but no config provided, in cluster config
+ will be used.
+ properties:
+ auth:
+ description: Credentials used to connect to the Kubernetes API.
+ properties:
+ env:
+ description: Env is a reference to an environment variable
+ that contains credentials that must be used to connect to
+ the provider.
+ properties:
+ name:
+ description: Name is the name of an environment variable.
+ type: string
+ required:
+ - name
+ type: object
+ fs:
+ description: Fs is a reference to a filesystem location that
+ contains credentials that must be used to connect to the
+ provider.
+ properties:
+ path:
+ description: Path is a filesystem path.
+ type: string
+ required:
+ - path
+ type: object
+ secretRef:
+ description: A SecretRef is a reference to a secret key that
+ contains the credentials that must be used to connect to
+ the provider.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ source:
+ description: Source of the credentials.
+ enum:
+ - None
+ - Secret
+ - Environment
+ - Filesystem
+ type: string
+ required:
+ - source
+ type: object
+ required:
+ - auth
+ type: object
+ plugin:
+ description: Plugin configures External secret store as a plugin.
+ properties:
+ configRef:
+ description: ConfigRef contains store config reference info.
+ properties:
+ apiVersion:
+ description: APIVersion of the referenced config.
+ type: string
+ kind:
+ description: Kind of the referenced config.
+ type: string
+ name:
+ description: Name of the referenced config.
+ type: string
+ required:
+ - apiVersion
+ - kind
+ - name
+ type: object
+ endpoint:
+ description: Endpoint is the endpoint of the gRPC server.
+ type: string
+ type: object
+ type:
+ default: Kubernetes
+ description: Type configures which secret store to be used. Only the
+ configuration block for this store will be used and others will
+ be ignored if provided. Default is Kubernetes.
+ enum:
+ - Kubernetes
+ - Vault
+ - Plugin
+ type: string
+ vault:
+ description: 'Vault configures a Vault secret store. Deprecated: This
+ API is scheduled to be removed in a future release. Vault should
+ be used as a plugin going forward. See https://github.com/crossplane-contrib/ess-plugin-vault
+ for more information.'
+ properties:
+ auth:
+ description: Auth configures an authentication method for Vault.
+ properties:
+ method:
+ description: Method configures which auth method will be used.
+ type: string
+ token:
+ description: Token configures Token Auth for Vault.
+ properties:
+ env:
+ description: Env is a reference to an environment variable
+ that contains credentials that must be used to connect
+ to the provider.
+ properties:
+ name:
+ description: Name is the name of an environment variable.
+ type: string
+ required:
+ - name
+ type: object
+ fs:
+ description: Fs is a reference to a filesystem location
+ that contains credentials that must be used to connect
+ to the provider.
+ properties:
+ path:
+ description: Path is a filesystem path.
+ type: string
+ required:
+ - path
+ type: object
+ secretRef:
+ description: A SecretRef is a reference to a secret key
+ that contains the credentials that must be used to connect
+ to the provider.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ source:
+ description: Source of the credentials.
+ enum:
+ - None
+ - Secret
+ - Environment
+ - Filesystem
+ type: string
+ required:
+ - source
+ type: object
+ required:
+ - method
+ type: object
+ caBundle:
+ description: CABundle configures CA bundle for Vault Server.
+ properties:
+ env:
+ description: Env is a reference to an environment variable
+ that contains credentials that must be used to connect to
+ the provider.
+ properties:
+ name:
+ description: Name is the name of an environment variable.
+ type: string
+ required:
+ - name
+ type: object
+ fs:
+ description: Fs is a reference to a filesystem location that
+ contains credentials that must be used to connect to the
+ provider.
+ properties:
+ path:
+ description: Path is a filesystem path.
+ type: string
+ required:
+ - path
+ type: object
+ secretRef:
+ description: A SecretRef is a reference to a secret key that
+ contains the credentials that must be used to connect to
+ the provider.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ source:
+ description: Source of the credentials.
+ enum:
+ - None
+ - Secret
+ - Environment
+ - Filesystem
+ type: string
+ required:
+ - source
+ type: object
+ mountPath:
+ description: MountPath is the mount path of the KV secrets engine.
+ type: string
+ server:
+ description: Server is the url of the Vault server, e.g. "https://vault.acme.org"
+ type: string
+ version:
+ default: v2
+ description: Version of the KV Secrets engine of Vault. https://www.vaultproject.io/docs/secrets/kv
+ type: string
+ required:
+ - auth
+ - mountPath
+ - server
+ type: object
+ required:
+ - defaultScope
+ type: object
+ status:
+ description: A StoreConfigStatus represents the status of a StoreConfig.
+ properties:
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusterinstances.yaml b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusterinstances.yaml
new file mode 100644
index 000000000..3795bcef0
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusterinstances.yaml
@@ -0,0 +1,553 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: clusterinstances.docdb.aws.kubedb.com
+spec:
+ group: docdb.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: ClusterInstance
+ listKind: ClusterInstanceList
+ plural: clusterinstances
+ singular: clusterinstance
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ClusterInstance is the Schema for the ClusterInstances API. Provides
+ an DocumentDB Cluster Resource Instance
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ClusterInstanceSpec defines the desired state of ClusterInstance
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ applyImmediately:
+ description: Specifies whether any database modifications are
+ applied immediately, or during the next maintenance window.
+ Default isfalse.
+ type: boolean
+ autoMinorVersionUpgrade:
+ description: This parameter does not apply to Amazon DocumentDB.
+ Amazon DocumentDB does not perform minor version upgrades regardless
+ of the value set (see docs). Default true.
+ type: boolean
+ availabilityZone:
+ description: The EC2 Availability Zone that the DB instance is
+ created in. See docs about the details.
+ type: string
+ caCertIdentifier:
+ description: The identifier of the CA certificate for the DB instance.
+ type: string
+ clusterIdentifier:
+ description: The identifier of the aws_docdb_cluster in which
+ to launch this instance.
+ type: string
+ clusterIdentifierRef:
+ description: Reference to a Cluster to populate clusterIdentifier.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ clusterIdentifierSelector:
+ description: Selector for a Cluster to populate clusterIdentifier.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ enablePerformanceInsights:
+ description: A value that indicates whether to enable Performance
+ Insights for the DB Instance. Default false. See [docs] (https://docs.aws.amazon.com/documentdb/latest/developerguide/performance-insights.html)
+ about the details.
+ type: boolean
+ engine:
+ description: 'The name of the database engine to be used for the
+ DocumentDB instance. Defaults to docdb. Valid Values: docdb.'
+ type: string
+ instanceClass:
+ description: The instance class to use. For details on CPU and
+ memory, see Scaling for DocumentDB Instances. DocumentDB currently
+ supports the below instance classes. Please see AWS Documentation
+ for complete details.
+ type: string
+ performanceInsightsKmsKeyId:
+ description: The KMS key identifier is the key ARN, key ID, alias
+ ARN, or alias name for the KMS key. If you do not specify a
+ value for PerformanceInsightsKMSKeyId, then Amazon DocumentDB
+ uses your default KMS key.
+ type: string
+ preferredMaintenanceWindow:
+ description: 'The window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi".
+ Eg: "Mon:00:00-Mon:03:00".'
+ type: string
+ promotionTier:
+ description: Default 0. Failover Priority setting on instance
+ level. The reader who has lower tier has higher priority to
+ get promoter to writer.
+ type: number
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the instance. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: instanceClass is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.instanceClass)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: ClusterInstanceStatus defines the observed state of ClusterInstance.
+ properties:
+ atProvider:
+ properties:
+ applyImmediately:
+ description: Specifies whether any database modifications are
+ applied immediately, or during the next maintenance window.
+ Default isfalse.
+ type: boolean
+ arn:
+ description: Amazon Resource Name (ARN) of cluster instance
+ type: string
+ autoMinorVersionUpgrade:
+ description: This parameter does not apply to Amazon DocumentDB.
+ Amazon DocumentDB does not perform minor version upgrades regardless
+ of the value set (see docs). Default true.
+ type: boolean
+ availabilityZone:
+ description: The EC2 Availability Zone that the DB instance is
+ created in. See docs about the details.
+ type: string
+ caCertIdentifier:
+ description: The identifier of the CA certificate for the DB instance.
+ type: string
+ clusterIdentifier:
+ description: The identifier of the aws_docdb_cluster in which
+ to launch this instance.
+ type: string
+ dbSubnetGroupName:
+ description: The DB subnet group to associate with this DB instance.
+ type: string
+ dbiResourceId:
+ description: The region-unique, immutable identifier for the DB
+ instance.
+ type: string
+ enablePerformanceInsights:
+ description: A value that indicates whether to enable Performance
+ Insights for the DB Instance. Default false. See [docs] (https://docs.aws.amazon.com/documentdb/latest/developerguide/performance-insights.html)
+ about the details.
+ type: boolean
+ endpoint:
+ description: The DNS address for this instance. May not be writable
+ type: string
+ engine:
+ description: 'The name of the database engine to be used for the
+ DocumentDB instance. Defaults to docdb. Valid Values: docdb.'
+ type: string
+ engineVersion:
+ description: The database engine version
+ type: string
+ id:
+ type: string
+ instanceClass:
+ description: The instance class to use. For details on CPU and
+ memory, see Scaling for DocumentDB Instances. DocumentDB currently
+ supports the below instance classes. Please see AWS Documentation
+ for complete details.
+ type: string
+ kmsKeyId:
+ description: The ARN for the KMS encryption key if one is set
+ to the cluster.
+ type: string
+ performanceInsightsKmsKeyId:
+ description: The KMS key identifier is the key ARN, key ID, alias
+ ARN, or alias name for the KMS key. If you do not specify a
+ value for PerformanceInsightsKMSKeyId, then Amazon DocumentDB
+ uses your default KMS key.
+ type: string
+ port:
+ description: The database port
+ type: number
+ preferredBackupWindow:
+ description: The daily time range during which automated backups
+ are created if automated backups are enabled.
+ type: string
+ preferredMaintenanceWindow:
+ description: 'The window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi".
+ Eg: "Mon:00:00-Mon:03:00".'
+ type: string
+ promotionTier:
+ description: Default 0. Failover Priority setting on instance
+ level. The reader who has lower tier has higher priority to
+ get promoter to writer.
+ type: number
+ publiclyAccessible:
+ type: boolean
+ storageEncrypted:
+ description: Specifies whether the DB cluster is encrypted.
+ type: boolean
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the instance. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ writer:
+ description: – Boolean indicating if this instance is writable.
+ False indicates this instance is a read replica.
+ type: boolean
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusterparametergroups.yaml b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusterparametergroups.yaml
new file mode 100644
index 000000000..af72f720c
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusterparametergroups.yaml
@@ -0,0 +1,402 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: clusterparametergroups.docdb.aws.kubedb.com
+spec:
+ group: docdb.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: ClusterParameterGroup
+ listKind: ClusterParameterGroupList
+ plural: clusterparametergroups
+ singular: clusterparametergroup
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ClusterParameterGroup is the Schema for the ClusterParameterGroups
+ API. Manages a DocumentDB Cluster Parameter Group
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ClusterParameterGroupSpec defines the desired state of ClusterParameterGroup
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ description:
+ description: The description of the DocumentDB cluster parameter
+ group.
+ type: string
+ family:
+ description: The family of the DocumentDB cluster parameter group.
+ type: string
+ parameter:
+ description: A list of DocumentDB parameters to apply. Setting
+ parameters to system default values may show a difference on
+ imported resources.
+ items:
+ properties:
+ applyMethod:
+ description: Valid values are immediate and pending-reboot.
+ Defaults to pending-reboot.
+ type: string
+ name:
+ description: The name of the DocumentDB cluster parameter
+ group.
+ type: string
+ value:
+ description: The value of the DocumentDB parameter.
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: family is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.family)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: ClusterParameterGroupStatus defines the observed state of
+ ClusterParameterGroup.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: The ARN of the DocumentDB cluster parameter group.
+ type: string
+ description:
+ description: The description of the DocumentDB cluster parameter
+ group.
+ type: string
+ family:
+ description: The family of the DocumentDB cluster parameter group.
+ type: string
+ id:
+ description: The DocumentDB cluster parameter group name.
+ type: string
+ parameter:
+ description: A list of DocumentDB parameters to apply. Setting
+ parameters to system default values may show a difference on
+ imported resources.
+ items:
+ properties:
+ applyMethod:
+ description: Valid values are immediate and pending-reboot.
+ Defaults to pending-reboot.
+ type: string
+ name:
+ description: The name of the DocumentDB cluster parameter
+ group.
+ type: string
+ value:
+ description: The value of the DocumentDB parameter.
+ type: string
+ type: object
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusters.yaml b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusters.yaml
new file mode 100644
index 000000000..f2e3cc744
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusters.yaml
@@ -0,0 +1,568 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: clusters.docdb.aws.kubedb.com
+spec:
+ group: docdb.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: Cluster
+ listKind: ClusterList
+ plural: clusters
+ singular: cluster
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Cluster is the Schema for the Clusters API. Manages a DocumentDB
+ Aurora Cluster
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ClusterSpec defines the desired state of Cluster
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ applyImmediately:
+ description: Specifies whether any cluster modifications are applied
+ immediately, or during the next maintenance window. Default
+ is false.
+ type: boolean
+ availabilityZones:
+ description: A list of EC2 Availability Zones that instances in
+ the DB cluster can be created in.
+ items:
+ type: string
+ type: array
+ backupRetentionPeriod:
+ description: The days to retain backups for. Default 1
+ type: number
+ dbClusterParameterGroupName:
+ description: A cluster parameter group to associate with the cluster.
+ type: string
+ dbSubnetGroupName:
+ description: A DB subnet group to associate with this DB instance.
+ type: string
+ deletionProtection:
+ description: A value that indicates whether the DB cluster has
+ deletion protection enabled. The database can't be deleted when
+ deletion protection is enabled. By default, deletion protection
+ is disabled.
+ type: boolean
+ enabledCloudwatchLogsExports:
+ description: 'List of log types to export to cloudwatch. If omitted,
+ no logs will be exported. The following log types are supported:
+ audit, profiler.'
+ items:
+ type: string
+ type: array
+ engine:
+ description: 'The name of the database engine to be used for this
+ DB cluster. Defaults to docdb. Valid Values: docdb'
+ type: string
+ engineVersion:
+ description: The database engine version. Updating this argument
+ results in an outage.
+ type: string
+ finalSnapshotIdentifier:
+ description: The name of your final DB snapshot when this DB cluster
+ is deleted. If omitted, no final snapshot will be made.
+ type: string
+ globalClusterIdentifier:
+ description: The global cluster identifier specified on aws_docdb_global_cluster.
+ type: string
+ kmsKeyId:
+ description: The ARN for the KMS encryption key. When specifying
+ kms_key_id, storage_encrypted needs to be set to true.
+ type: string
+ masterPasswordSecretRef:
+ description: Password for the master DB user. Note that this may
+ show up in logs, and it will be stored in the state file. Please
+ refer to the DocumentDB Naming Constraints.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ masterUsername:
+ description: Username for the master DB user.
+ type: string
+ port:
+ description: The port on which the DB accepts connections
+ type: number
+ preferredBackupWindow:
+ description: 'The daily time range during which automated backups
+ are created if automated backups are enabled using the BackupRetentionPeriod
+ parameter.Time in UTC Default: A 30-minute window selected at
+ random from an 8-hour block of time per regionE.g., 04:00-09:00'
+ type: string
+ preferredMaintenanceWindow:
+ description: The weekly time range during which system maintenance
+ can occur, in (UTC) e.g., wed:04:00-wed:04:30
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ skipFinalSnapshot:
+ description: Determines whether a final DB snapshot is created
+ before the DB cluster is deleted. If true is specified, no DB
+ snapshot is created. If false is specified, a DB snapshot is
+ created before the DB cluster is deleted, using the value from
+ final_snapshot_identifier. Default is false.
+ type: boolean
+ snapshotIdentifier:
+ description: Specifies whether or not to create this cluster from
+ a snapshot. You can use either the name or ARN when specifying
+ a DB cluster snapshot, or the ARN when specifying a DB snapshot.
+ Automated snapshots should not be used for this attribute, unless
+ from a different cluster. Automated snapshots are deleted as
+ part of cluster destruction when the resource is replaced.
+ type: string
+ storageEncrypted:
+ description: Specifies whether the DB cluster is encrypted. The
+ default is false.
+ type: boolean
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the DB cluster. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ vpcSecurityGroupIds:
+ description: List of VPC security groups to associate with the
+ Cluster
+ items:
+ type: string
+ type: array
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: ClusterStatus defines the observed state of Cluster.
+ properties:
+ atProvider:
+ properties:
+ applyImmediately:
+ description: Specifies whether any cluster modifications are applied
+ immediately, or during the next maintenance window. Default
+ is false.
+ type: boolean
+ arn:
+ description: Amazon Resource Name (ARN) of cluster
+ type: string
+ availabilityZones:
+ description: A list of EC2 Availability Zones that instances in
+ the DB cluster can be created in.
+ items:
+ type: string
+ type: array
+ backupRetentionPeriod:
+ description: The days to retain backups for. Default 1
+ type: number
+ clusterMembers:
+ description: – List of DocumentDB Instances that are a part of
+ this cluster
+ items:
+ type: string
+ type: array
+ clusterResourceId:
+ description: The DocumentDB Cluster Resource ID
+ type: string
+ dbClusterParameterGroupName:
+ description: A cluster parameter group to associate with the cluster.
+ type: string
+ dbSubnetGroupName:
+ description: A DB subnet group to associate with this DB instance.
+ type: string
+ deletionProtection:
+ description: A value that indicates whether the DB cluster has
+ deletion protection enabled. The database can't be deleted when
+ deletion protection is enabled. By default, deletion protection
+ is disabled.
+ type: boolean
+ enabledCloudwatchLogsExports:
+ description: 'List of log types to export to cloudwatch. If omitted,
+ no logs will be exported. The following log types are supported:
+ audit, profiler.'
+ items:
+ type: string
+ type: array
+ endpoint:
+ description: The DNS address of the DocumentDB instance
+ type: string
+ engine:
+ description: 'The name of the database engine to be used for this
+ DB cluster. Defaults to docdb. Valid Values: docdb'
+ type: string
+ engineVersion:
+ description: The database engine version. Updating this argument
+ results in an outage.
+ type: string
+ finalSnapshotIdentifier:
+ description: The name of your final DB snapshot when this DB cluster
+ is deleted. If omitted, no final snapshot will be made.
+ type: string
+ globalClusterIdentifier:
+ description: The global cluster identifier specified on aws_docdb_global_cluster.
+ type: string
+ hostedZoneId:
+ description: The Route53 Hosted Zone ID of the endpoint
+ type: string
+ id:
+ description: The DocumentDB Cluster Identifier
+ type: string
+ kmsKeyId:
+ description: The ARN for the KMS encryption key. When specifying
+ kms_key_id, storage_encrypted needs to be set to true.
+ type: string
+ masterUsername:
+ description: Username for the master DB user.
+ type: string
+ port:
+ description: The port on which the DB accepts connections
+ type: number
+ preferredBackupWindow:
+ description: 'The daily time range during which automated backups
+ are created if automated backups are enabled using the BackupRetentionPeriod
+ parameter.Time in UTC Default: A 30-minute window selected at
+ random from an 8-hour block of time per regionE.g., 04:00-09:00'
+ type: string
+ preferredMaintenanceWindow:
+ description: The weekly time range during which system maintenance
+ can occur, in (UTC) e.g., wed:04:00-wed:04:30
+ type: string
+ readerEndpoint:
+ description: A read-only endpoint for the DocumentDB cluster,
+ automatically load-balanced across replicas
+ type: string
+ skipFinalSnapshot:
+ description: Determines whether a final DB snapshot is created
+ before the DB cluster is deleted. If true is specified, no DB
+ snapshot is created. If false is specified, a DB snapshot is
+ created before the DB cluster is deleted, using the value from
+ final_snapshot_identifier. Default is false.
+ type: boolean
+ snapshotIdentifier:
+ description: Specifies whether or not to create this cluster from
+ a snapshot. You can use either the name or ARN when specifying
+ a DB cluster snapshot, or the ARN when specifying a DB snapshot.
+ Automated snapshots should not be used for this attribute, unless
+ from a different cluster. Automated snapshots are deleted as
+ part of cluster destruction when the resource is replaced.
+ type: string
+ storageEncrypted:
+ description: Specifies whether the DB cluster is encrypted. The
+ default is false.
+ type: boolean
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the DB cluster. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ vpcSecurityGroupIds:
+ description: List of VPC security groups to associate with the
+ Cluster
+ items:
+ type: string
+ type: array
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clustersnapshots.yaml b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clustersnapshots.yaml
new file mode 100644
index 000000000..f20901777
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clustersnapshots.yaml
@@ -0,0 +1,364 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: clustersnapshots.docdb.aws.kubedb.com
+spec:
+ group: docdb.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: ClusterSnapshot
+ listKind: ClusterSnapshotList
+ plural: clustersnapshots
+ singular: clustersnapshot
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ClusterSnapshot is the Schema for the ClusterSnapshots API. Manages
+ a DocumentDB database cluster snapshot.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ClusterSnapshotSpec defines the desired state of ClusterSnapshot
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ dbClusterIdentifier:
+ description: The DocumentDB Cluster Identifier from which to take
+ the snapshot.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: dbClusterIdentifier is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.dbClusterIdentifier)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: ClusterSnapshotStatus defines the observed state of ClusterSnapshot.
+ properties:
+ atProvider:
+ properties:
+ availabilityZones:
+ description: List of EC2 Availability Zones that instances in
+ the DocumentDB cluster snapshot can be restored in.
+ items:
+ type: string
+ type: array
+ dbClusterIdentifier:
+ description: The DocumentDB Cluster Identifier from which to take
+ the snapshot.
+ type: string
+ dbClusterSnapshotArn:
+ description: The Amazon Resource Name (ARN) for the DocumentDB
+ Cluster Snapshot.
+ type: string
+ engine:
+ description: Specifies the name of the database engine.
+ type: string
+ engineVersion:
+ description: Version of the database engine for this DocumentDB
+ cluster snapshot.
+ type: string
+ id:
+ type: string
+ kmsKeyId:
+ description: If storage_encrypted is true, the AWS KMS key identifier
+ for the encrypted DocumentDB cluster snapshot.
+ type: string
+ port:
+ description: Port that the DocumentDB cluster was listening on
+ at the time of the snapshot.
+ type: number
+ snapshotType:
+ type: string
+ sourceDbClusterSnapshotArn:
+ description: The Amazon Resource Name (ARN) for the DocumentDB
+ Cluster Snapshot.
+ type: string
+ status:
+ description: The status of this DocumentDB Cluster Snapshot.
+ type: string
+ storageEncrypted:
+ description: Specifies whether the DocumentDB cluster snapshot
+ is encrypted.
+ type: boolean
+ vpcId:
+ description: The VPC ID associated with the DocumentDB cluster
+ snapshot.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_eventsubscriptions.yaml b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_eventsubscriptions.yaml
new file mode 100644
index 000000000..b612cc5d9
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_eventsubscriptions.yaml
@@ -0,0 +1,409 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: eventsubscriptions.docdb.aws.kubedb.com
+spec:
+ group: docdb.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: EventSubscription
+ listKind: EventSubscriptionList
+ plural: eventsubscriptions
+ singular: eventsubscription
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: EventSubscription is the Schema for the EventSubscriptions API.
+ Provides a DocumentDB event subscription resource.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: EventSubscriptionSpec defines the desired state of EventSubscription
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ enabled:
+ description: A boolean flag to enable/disable the subscription.
+ Defaults to true.
+ type: boolean
+ eventCategories:
+ description: A list of event categories for a SourceType that
+ you want to subscribe to. See https://docs.aws.amazon.com/documentdb/latest/developerguide/API_Event.html
+ or run aws docdb describe-event-categories.
+ items:
+ type: string
+ type: array
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ snsTopicArn:
+ description: The Amazon Resource Name of the DocumentDB event
+ notification subscription
+ type: string
+ sourceIds:
+ description: A list of identifiers of the event sources for which
+ events will be returned. If not specified, then all sources
+ are included in the response. If specified, a source_type must
+ also be specified.
+ items:
+ type: string
+ type: array
+ sourceType:
+ description: The type of source that will be generating the events.
+ Valid options are db-instance, db-cluster, db-parameter-group,
+ db-security-group, db-cluster-snapshot. If not set, all sources
+ will be subscribed to.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ - message: snsTopicArn is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.snsTopicArn)
+ status:
+ description: EventSubscriptionStatus defines the observed state of EventSubscription.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: The Amazon Resource Name of the DocumentDB event
+ notification subscription
+ type: string
+ customerAwsId:
+ description: The AWS customer account associated with the DocumentDB
+ event notification subscription
+ type: string
+ enabled:
+ description: A boolean flag to enable/disable the subscription.
+ Defaults to true.
+ type: boolean
+ eventCategories:
+ description: A list of event categories for a SourceType that
+ you want to subscribe to. See https://docs.aws.amazon.com/documentdb/latest/developerguide/API_Event.html
+ or run aws docdb describe-event-categories.
+ items:
+ type: string
+ type: array
+ id:
+ description: The name of the DocumentDB event notification subscription
+ type: string
+ snsTopicArn:
+ description: The Amazon Resource Name of the DocumentDB event
+ notification subscription
+ type: string
+ sourceIds:
+ description: A list of identifiers of the event sources for which
+ events will be returned. If not specified, then all sources
+ are included in the response. If specified, a source_type must
+ also be specified.
+ items:
+ type: string
+ type: array
+ sourceType:
+ description: The type of source that will be generating the events.
+ Valid options are db-instance, db-cluster, db-parameter-group,
+ db-security-group, db-cluster-snapshot. If not set, all sources
+ will be subscribed to.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_globalclusters.yaml b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_globalclusters.yaml
new file mode 100644
index 000000000..5c5454fda
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_globalclusters.yaml
@@ -0,0 +1,399 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: globalclusters.docdb.aws.kubedb.com
+spec:
+ group: docdb.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: GlobalCluster
+ listKind: GlobalClusterList
+ plural: globalclusters
+ singular: globalcluster
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: GlobalCluster is the Schema for the GlobalClusters API. Manages
+ a DocumentDB Global Cluster
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: GlobalClusterSpec defines the desired state of GlobalCluster
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ databaseName:
+ description: Name for an automatically created database on cluster
+ creation.
+ type: string
+ deletionProtection:
+ description: If the Global Cluster should have deletion protection
+ enabled. The database can't be deleted when this value is set
+ to true. The default is false.
+ type: boolean
+ engine:
+ description: 'Name of the database engine to be used for this
+ DB cluster. Current Valid values: docdb. Defaults to docdb.
+ Conflicts with source_db_cluster_identifier.'
+ type: string
+ engineVersion:
+ description: Engine version of the global database. Upgrading
+ the engine version will result in all cluster members being
+ immediately updated and will.
+ type: string
+ globalClusterIdentifier:
+ description: The global cluster identifier.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ sourceDbClusterIdentifier:
+ description: Amazon Resource Name (ARN) to use as the primary
+ DB Cluster of the Global Cluster on creation.
+ type: string
+ storageEncrypted:
+ description: Specifies whether the DB cluster is encrypted. The
+ default is false unless source_db_cluster_identifier is specified
+ and encrypted.
+ type: boolean
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: globalClusterIdentifier is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.globalClusterIdentifier)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: GlobalClusterStatus defines the observed state of GlobalCluster.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: Global Cluster Amazon Resource Name (ARN)
+ type: string
+ databaseName:
+ description: Name for an automatically created database on cluster
+ creation.
+ type: string
+ deletionProtection:
+ description: If the Global Cluster should have deletion protection
+ enabled. The database can't be deleted when this value is set
+ to true. The default is false.
+ type: boolean
+ engine:
+ description: 'Name of the database engine to be used for this
+ DB cluster. Current Valid values: docdb. Defaults to docdb.
+ Conflicts with source_db_cluster_identifier.'
+ type: string
+ engineVersion:
+ description: Engine version of the global database. Upgrading
+ the engine version will result in all cluster members being
+ immediately updated and will.
+ type: string
+ globalClusterIdentifier:
+ description: The global cluster identifier.
+ type: string
+ globalClusterMembers:
+ description: Set of objects containing Global Cluster members.
+ items:
+ properties:
+ dbClusterArn:
+ description: Amazon Resource Name (ARN) of member DB Cluster.
+ type: string
+ isWriter:
+ description: Whether the member is the primary DB Cluster.
+ type: boolean
+ type: object
+ type: array
+ globalClusterResourceId:
+ description: AWS Region-unique, immutable identifier for the global
+ database cluster. This identifier is found in AWS CloudTrail
+ log entries whenever the AWS KMS key for the DB cluster is accessed.
+ type: string
+ id:
+ description: DocumentDB Global Cluster ID.
+ type: string
+ sourceDbClusterIdentifier:
+ description: Amazon Resource Name (ARN) to use as the primary
+ DB Cluster of the Global Cluster on creation.
+ type: string
+ status:
+ type: string
+ storageEncrypted:
+ description: Specifies whether the DB cluster is encrypted. The
+ default is false unless source_db_cluster_identifier is specified
+ and encrypted.
+ type: boolean
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_subnetgroups.yaml b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_subnetgroups.yaml
new file mode 100644
index 000000000..58b520fbe
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_subnetgroups.yaml
@@ -0,0 +1,437 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: subnetgroups.docdb.aws.kubedb.com
+spec:
+ group: docdb.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: SubnetGroup
+ listKind: SubnetGroupList
+ plural: subnetgroups
+ singular: subnetgroup
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: SubnetGroup is the Schema for the SubnetGroups API. Provides
+ an DocumentDB subnet group resource.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SubnetGroupSpec defines the desired state of SubnetGroup
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ description:
+ description: The description of the docDB subnet group.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ subnetIds:
+ description: A list of VPC subnet IDs.
+ items:
+ type: string
+ type: array
+ subnetIdsRefs:
+ description: References to Subnet in ec2 to populate subnetIds.
+ items:
+ description: A Reference to a named object.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution
+ of this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which
+ will attempt to resolve the reference only when the
+ corresponding field is not present. Use 'Always' to
+ resolve the reference on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ subnetIdsSelector:
+ description: Selector for a list of Subnet in ec2 to populate
+ subnetIds.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: SubnetGroupStatus defines the observed state of SubnetGroup.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: The ARN of the docDB subnet group.
+ type: string
+ description:
+ description: The description of the docDB subnet group.
+ type: string
+ id:
+ description: The docDB subnet group name.
+ type: string
+ subnetIds:
+ description: A list of VPC subnet IDs.
+ items:
+ type: string
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_contributorinsights.yaml b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_contributorinsights.yaml
new file mode 100644
index 000000000..ff1f2fc7e
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_contributorinsights.yaml
@@ -0,0 +1,397 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: contributorinsights.dynamodb.aws.kubedb.com
+spec:
+ group: dynamodb.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: ContributorInsights
+ listKind: ContributorInsightsList
+ plural: contributorinsights
+ singular: contributorinsights
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ContributorInsights is the Schema for the ContributorInsightss
+ API. Provides a DynamoDB contributor insights resource
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ContributorInsightsSpec defines the desired state of ContributorInsights
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ indexName:
+ description: The global secondary index name
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ tableName:
+ description: The name of the table to enable contributor insights
+ type: string
+ tableNameRef:
+ description: Reference to a Table to populate tableName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ tableNameSelector:
+ description: Selector for a Table to populate tableName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: ContributorInsightsStatus defines the observed state of ContributorInsights.
+ properties:
+ atProvider:
+ properties:
+ id:
+ type: string
+ indexName:
+ description: The global secondary index name
+ type: string
+ tableName:
+ description: The name of the table to enable contributor insights
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_globaltables.yaml b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_globaltables.yaml
new file mode 100644
index 000000000..255920a14
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_globaltables.yaml
@@ -0,0 +1,342 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: globaltables.dynamodb.aws.kubedb.com
+spec:
+ group: dynamodb.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: GlobalTable
+ listKind: GlobalTableList
+ plural: globaltables
+ singular: globaltable
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: GlobalTable is the Schema for the GlobalTables API. Manages DynamoDB
+ Global Tables V1 (version 2017.11.29)
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: GlobalTableSpec defines the desired state of GlobalTable
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ replica:
+ description: Underlying DynamoDB Table. At least 1 replica must
+ be defined. See below.
+ items:
+ properties:
+ regionName:
+ description: AWS region name of replica DynamoDB TableE.g.,
+ us-east-1
+ type: string
+ required:
+ - regionName
+ type: object
+ type: array
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ - message: replica is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.replica)
+ status:
+ description: GlobalTableStatus defines the observed state of GlobalTable.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: The ARN of the DynamoDB Global Table
+ type: string
+ id:
+ description: The name of the DynamoDB Global Table
+ type: string
+ replica:
+ description: Underlying DynamoDB Table. At least 1 replica must
+ be defined. See below.
+ items:
+ properties:
+ regionName:
+ description: AWS region name of replica DynamoDB TableE.g.,
+ us-east-1
+ type: string
+ type: object
+ type: array
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_kinesisstreamingdestinations.yaml b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_kinesisstreamingdestinations.yaml
new file mode 100644
index 000000000..a7fade9f7
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_kinesisstreamingdestinations.yaml
@@ -0,0 +1,478 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: kinesisstreamingdestinations.dynamodb.aws.kubedb.com
+spec:
+ group: dynamodb.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: KinesisStreamingDestination
+ listKind: KinesisStreamingDestinationList
+ plural: kinesisstreamingdestinations
+ singular: kinesisstreamingdestination
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: KinesisStreamingDestination is the Schema for the KinesisStreamingDestinations
+ API. Enables a Kinesis streaming destination for a DynamoDB table
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: KinesisStreamingDestinationSpec defines the desired state
+ of KinesisStreamingDestination
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ streamArn:
+ description: The ARN for a Kinesis data stream. This must exist
+ in the same account and region as the DynamoDB table.
+ type: string
+ streamArnRef:
+ description: Reference to a Stream in kinesis to populate streamArn.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ streamArnSelector:
+ description: Selector for a Stream in kinesis to populate streamArn.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ tableName:
+ description: The name of the DynamoDB table. There can only be
+ one Kinesis streaming destination for a given DynamoDB table.
+ type: string
+ tableNameRef:
+ description: Reference to a Table to populate tableName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ tableNameSelector:
+ description: Selector for a Table to populate tableName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: KinesisStreamingDestinationStatus defines the observed state
+ of KinesisStreamingDestination.
+ properties:
+ atProvider:
+ properties:
+ id:
+ description: The table_name and stream_arn separated by a comma
+ (,).
+ type: string
+ streamArn:
+ description: The ARN for a Kinesis data stream. This must exist
+ in the same account and region as the DynamoDB table.
+ type: string
+ tableName:
+ description: The name of the DynamoDB table. There can only be
+ one Kinesis streaming destination for a given DynamoDB table.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tableitems.yaml b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tableitems.yaml
new file mode 100644
index 000000000..5ee79975a
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tableitems.yaml
@@ -0,0 +1,423 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: tableitems.dynamodb.aws.kubedb.com
+spec:
+ group: dynamodb.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: TableItem
+ listKind: TableItemList
+ plural: tableitems
+ singular: tableitem
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: TableItem is the Schema for the TableItems API. Provides a DynamoDB
+ table item resource
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: TableItemSpec defines the desired state of TableItem
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ hashKey:
+ description: Hash key to use for lookups and identification of
+ the item
+ type: string
+ item:
+ description: JSON representation of a map of attribute name/value
+ pairs, one for each attribute. Only the primary key attributes
+ are required; you can optionally provide other attribute name-value
+ pairs for the item.
+ type: string
+ rangeKey:
+ description: Range key to use for lookups and identification of
+ the item. Required if there is range key defined in the table.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ tableName:
+ description: Name of the table to contain the item.
+ type: string
+ tableNameRef:
+ description: Reference to a Table to populate tableName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ tableNameSelector:
+ description: Selector for a Table to populate tableName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: hashKey is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.hashKey)
+ - message: item is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.item)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: TableItemStatus defines the observed state of TableItem.
+ properties:
+ atProvider:
+ properties:
+ hashKey:
+ description: Hash key to use for lookups and identification of
+ the item
+ type: string
+ id:
+ type: string
+ item:
+ description: JSON representation of a map of attribute name/value
+ pairs, one for each attribute. Only the primary key attributes
+ are required; you can optionally provide other attribute name-value
+ pairs for the item.
+ type: string
+ rangeKey:
+ description: Range key to use for lookups and identification of
+ the item. Required if there is range key defined in the table.
+ type: string
+ tableName:
+ description: Name of the table to contain the item.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tablereplicas.yaml b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tablereplicas.yaml
new file mode 100644
index 000000000..85961e74b
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tablereplicas.yaml
@@ -0,0 +1,387 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: tablereplicas.dynamodb.aws.kubedb.com
+spec:
+ group: dynamodb.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: TableReplica
+ listKind: TableReplicaList
+ plural: tablereplicas
+ singular: tablereplica
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: TableReplica is the Schema for the TableReplicas API. Provides
+ a DynamoDB table replica resource
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: TableReplicaSpec defines the desired state of TableReplica
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ globalTableArn:
+ description: ARN of the main or global table which this resource
+ will replicate.
+ type: string
+ kmsKeyArn:
+ description: 'ARN of the CMK that should be used for the AWS KMS
+ encryption. This argument should only be used if the key is
+ different from the default KMS-managed DynamoDB key, alias/aws/dynamodb.
+ Note: This attribute will not be populated with the ARN of default
+ keys.'
+ type: string
+ pointInTimeRecovery:
+ description: Whether to enable Point In Time Recovery for the
+ replica. Default is false.
+ type: boolean
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ tableClassOverride:
+ description: Storage class of the table replica. Valid values
+ are STANDARD and STANDARD_INFREQUENT_ACCESS. If not used, the
+ table replica will use the same class as the global table.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: Map of tags to populate on the created table. If
+ configured with a provider default_tags configuration block
+ present, tags with matching keys will overwrite those defined
+ at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: Map of tags assigned to the resource, including those
+ inherited from the provider default_tags configuration block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: globalTableArn is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.globalTableArn)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: TableReplicaStatus defines the observed state of TableReplica.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: ARN of the table replica.
+ type: string
+ globalTableArn:
+ description: ARN of the main or global table which this resource
+ will replicate.
+ type: string
+ id:
+ description: Name of the table and region of the main global table
+ joined with a semicolon (e.g., TableName:us-east-1).
+ type: string
+ kmsKeyArn:
+ description: 'ARN of the CMK that should be used for the AWS KMS
+ encryption. This argument should only be used if the key is
+ different from the default KMS-managed DynamoDB key, alias/aws/dynamodb.
+ Note: This attribute will not be populated with the ARN of default
+ keys.'
+ type: string
+ pointInTimeRecovery:
+ description: Whether to enable Point In Time Recovery for the
+ replica. Default is false.
+ type: boolean
+ tableClassOverride:
+ description: Storage class of the table replica. Valid values
+ are STANDARD and STANDARD_INFREQUENT_ACCESS. If not used, the
+ table replica will use the same class as the global table.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: Map of tags to populate on the created table. If
+ configured with a provider default_tags configuration block
+ present, tags with matching keys will overwrite those defined
+ at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: Map of tags assigned to the resource, including those
+ inherited from the provider default_tags configuration block.
+ type: object
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tables.yaml b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tables.yaml
new file mode 100644
index 000000000..dfc06b1e6
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tables.yaml
@@ -0,0 +1,818 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: tables.dynamodb.aws.kubedb.com
+spec:
+ group: dynamodb.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: Table
+ listKind: TableList
+ plural: tables
+ singular: table
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Table is the Schema for the Tables API. Provides a DynamoDB table
+ resource
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: TableSpec defines the desired state of Table
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ attribute:
+ description: Set of nested attribute definitions. Only required
+ for hash_key and range_key attributes. See below.
+ items:
+ properties:
+ name:
+ description: Name of the attribute
+ type: string
+ type:
+ description: Attribute type. Valid values are S (string),
+ N (number), B (binary).
+ type: string
+ required:
+ - name
+ - type
+ type: object
+ type: array
+ billingMode:
+ description: Controls how you are charged for read and write throughput
+ and how you manage capacity. The valid values are PROVISIONED
+ and PAY_PER_REQUEST. Defaults to PROVISIONED.
+ type: string
+ deletionProtectionEnabled:
+ description: Enables deletion protection for table. Defaults to
+ false.
+ type: boolean
+ globalSecondaryIndex:
+ description: Describe a GSI for the table; subject to the normal
+ limits on the number of GSIs, projected attributes, etc. See
+ below.
+ items:
+ properties:
+ hashKey:
+ description: Name of the hash key in the index; must be
+ defined as an attribute in the resource.
+ type: string
+ name:
+ description: Name of the index.
+ type: string
+ nonKeyAttributes:
+ description: Only required with INCLUDE as a projection
+ type; a list of attributes to project into the index.
+ These do not need to be defined as attributes on the table.
+ items:
+ type: string
+ type: array
+ projectionType:
+ description: One of ALL, INCLUDE or KEYS_ONLY where ALL
+ projects every attribute into the index, KEYS_ONLY projects into
+ the index only the table and index hash_key and sort_key
+ attributes , INCLUDE projects into the index all of the
+ attributes that are defined in non_key_attributes in addition
+ to the attributes that thatKEYS_ONLY project.
+ type: string
+ rangeKey:
+ description: Name of the range key; must be defined
+ type: string
+ readCapacity:
+ description: Number of read units for this index. Must be
+ set if billing_mode is set to PROVISIONED.
+ type: number
+ writeCapacity:
+ description: Number of write units for this index. Must
+ be set if billing_mode is set to PROVISIONED.
+ type: number
+ required:
+ - hashKey
+ - name
+ - projectionType
+ type: object
+ type: array
+ hashKey:
+ description: Attribute to use as the hash (partition) key. Must
+ also be defined as an attribute. See below.
+ type: string
+ localSecondaryIndex:
+ description: Describe an LSI on the table; these can only be allocated
+ at creation so you cannot change this definition after you have
+ created the resource. See below.
+ items:
+ properties:
+ name:
+ description: Name of the index
+ type: string
+ nonKeyAttributes:
+ description: Only required with INCLUDE as a projection
+ type; a list of attributes to project into the index.
+ These do not need to be defined as attributes on the table.
+ items:
+ type: string
+ type: array
+ projectionType:
+ description: One of ALL, INCLUDE or KEYS_ONLY where ALL
+ projects every attribute into the index, KEYS_ONLY projects into
+ the index only the table and index hash_key and sort_key
+ attributes , INCLUDE projects into the index all of the
+ attributes that are defined in non_key_attributes in addition
+ to the attributes that thatKEYS_ONLY project.
+ type: string
+ rangeKey:
+ description: Name of the range key.
+ type: string
+ required:
+ - name
+ - projectionType
+ - rangeKey
+ type: object
+ type: array
+ pointInTimeRecovery:
+ description: Enable point-in-time recovery options. See below.
+ items:
+ properties:
+ enabled:
+ description: Whether to enable point-in-time recovery. It
+ can take 10 minutes to enable for new tables. If the point_in_time_recovery
+ block is not provided, this defaults to false.
+ type: boolean
+ required:
+ - enabled
+ type: object
+ type: array
+ rangeKey:
+ description: Attribute to use as the range (sort) key. Must also
+ be defined as an attribute, see below.
+ type: string
+ readCapacity:
+ description: Number of read units for this table. If the billing_mode
+ is PROVISIONED, this field is required.
+ type: number
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ replica:
+ description: Configuration block(s) with DynamoDB Global Tables
+ V2 (version 2019.11.21) replication configurations. See below.
+ items:
+ properties:
+ kmsKeyArn:
+ description: 'ARN of the CMK that should be used for the
+ AWS KMS encryption. This argument should only be used
+ if the key is different from the default KMS-managed DynamoDB
+ key, alias/aws/dynamodb. Note: This attribute will not
+ be populated with the ARN of default keys.'
+ type: string
+ pointInTimeRecovery:
+ description: Whether to enable Point In Time Recovery for
+ the replica. Default is false.
+ type: boolean
+ propagateTags:
+ description: 'Whether to propagate the global table''s tags
+ to a replica. Default is false. Changes to tags only move
+ in one direction: from global (source) to replica. In
+ other words, tag drift on a replica will not trigger an
+ update. Tag or replica changes on the global table, whether
+ from drift or configuration changes, are propagated to
+ replicas. Changing from true to false on a subsequent
+ apply means replica tags are left as they were, unmanaged,
+ not deleted.'
+ type: boolean
+ regionName:
+ description: Region name of the replica.
+ type: string
+ required:
+ - regionName
+ type: object
+ type: array
+ restoreDateTime:
+ description: Time of the point-in-time recovery point to restore.
+ type: string
+ restoreSourceName:
+ description: Name of the table to restore. Must match the name
+ of an existing table.
+ type: string
+ restoreToLatestTime:
+ description: If set, restores table to the most recent point-in-time
+ recovery point.
+ type: boolean
+ serverSideEncryption:
+ description: Encryption at rest options. AWS DynamoDB tables are
+ automatically encrypted at rest with an AWS-owned Customer Master
+ Key if this argument isn't specified. See below.
+ items:
+ properties:
+ enabled:
+ description: Whether or not to enable encryption at rest
+ using an AWS managed KMS customer master key (CMK). If
+ enabled is false then server-side encryption is set to
+ AWS-owned key (shown as DEFAULT in the AWS console). Potentially
+ confusingly, if enabled is true and no kms_key_arn is
+ specified then server-side encryption is set to the default
+ KMS-managed key (shown as KMS in the AWS console). The
+ AWS KMS documentation explains the difference between
+ AWS-owned and KMS-managed keys.
+ type: boolean
+ kmsKeyArn:
+ description: 'ARN of the CMK that should be used for the
+ AWS KMS encryption. This argument should only be used
+ if the key is different from the default KMS-managed DynamoDB
+ key, alias/aws/dynamodb. Note: This attribute will not
+ be populated with the ARN of default keys.'
+ type: string
+ required:
+ - enabled
+ type: object
+ type: array
+ streamEnabled:
+ description: Whether Streams are enabled.
+ type: boolean
+ streamViewType:
+ description: When an item in the table is modified, StreamViewType
+ determines what information is written to the table's stream.
+ Valid values are KEYS_ONLY, NEW_IMAGE, OLD_IMAGE, NEW_AND_OLD_IMAGES.
+ type: string
+ tableClass:
+ description: Storage class of the table. Valid values are STANDARD
+ and STANDARD_INFREQUENT_ACCESS. Default value is STANDARD.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to populate on the created table. If
+ configured with a provider default_tags configuration block
+ present, tags with matching keys will overwrite those defined
+ at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: Map of tags assigned to the resource, including those
+ inherited from the provider default_tags configuration block.
+ type: object
+ ttl:
+ description: Configuration block for TTL. See below.
+ items:
+ properties:
+ attributeName:
+ description: Name of the table attribute to store the TTL
+ timestamp in.
+ type: string
+ enabled:
+ description: Whether TTL is enabled.
+ type: boolean
+ required:
+ - attributeName
+ type: object
+ type: array
+ writeCapacity:
+ description: Number of write units for this table. If the billing_mode
+ is PROVISIONED, this field is required.
+ type: number
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: TableStatus defines the observed state of Table.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: ARN of the table
+ type: string
+ attribute:
+ description: Set of nested attribute definitions. Only required
+ for hash_key and range_key attributes. See below.
+ items:
+ properties:
+ name:
+ description: Name of the attribute
+ type: string
+ type:
+ description: Attribute type. Valid values are S (string),
+ N (number), B (binary).
+ type: string
+ type: object
+ type: array
+ billingMode:
+ description: Controls how you are charged for read and write throughput
+ and how you manage capacity. The valid values are PROVISIONED
+ and PAY_PER_REQUEST. Defaults to PROVISIONED.
+ type: string
+ deletionProtectionEnabled:
+ description: Enables deletion protection for table. Defaults to
+ false.
+ type: boolean
+ globalSecondaryIndex:
+ description: Describe a GSI for the table; subject to the normal
+ limits on the number of GSIs, projected attributes, etc. See
+ below.
+ items:
+ properties:
+ hashKey:
+ description: Name of the hash key in the index; must be
+ defined as an attribute in the resource.
+ type: string
+ name:
+ description: Name of the index.
+ type: string
+ nonKeyAttributes:
+ description: Only required with INCLUDE as a projection
+ type; a list of attributes to project into the index.
+ These do not need to be defined as attributes on the table.
+ items:
+ type: string
+ type: array
+ projectionType:
+ description: One of ALL, INCLUDE or KEYS_ONLY where ALL
+ projects every attribute into the index, KEYS_ONLY projects into
+ the index only the table and index hash_key and sort_key
+ attributes , INCLUDE projects into the index all of the
+ attributes that are defined in non_key_attributes in addition
+ to the attributes that thatKEYS_ONLY project.
+ type: string
+ rangeKey:
+ description: Name of the range key; must be defined
+ type: string
+ readCapacity:
+ description: Number of read units for this index. Must be
+ set if billing_mode is set to PROVISIONED.
+ type: number
+ writeCapacity:
+ description: Number of write units for this index. Must
+ be set if billing_mode is set to PROVISIONED.
+ type: number
+ type: object
+ type: array
+ hashKey:
+ description: Attribute to use as the hash (partition) key. Must
+ also be defined as an attribute. See below.
+ type: string
+ id:
+ description: Name of the table
+ type: string
+ localSecondaryIndex:
+ description: Describe an LSI on the table; these can only be allocated
+ at creation so you cannot change this definition after you have
+ created the resource. See below.
+ items:
+ properties:
+ name:
+ description: Name of the index
+ type: string
+ nonKeyAttributes:
+ description: Only required with INCLUDE as a projection
+ type; a list of attributes to project into the index.
+ These do not need to be defined as attributes on the table.
+ items:
+ type: string
+ type: array
+ projectionType:
+ description: One of ALL, INCLUDE or KEYS_ONLY where ALL
+ projects every attribute into the index, KEYS_ONLY projects into
+ the index only the table and index hash_key and sort_key
+ attributes , INCLUDE projects into the index all of the
+ attributes that are defined in non_key_attributes in addition
+ to the attributes that thatKEYS_ONLY project.
+ type: string
+ rangeKey:
+ description: Name of the range key.
+ type: string
+ type: object
+ type: array
+ pointInTimeRecovery:
+ description: Enable point-in-time recovery options. See below.
+ items:
+ properties:
+ enabled:
+ description: Whether to enable point-in-time recovery. It
+ can take 10 minutes to enable for new tables. If the point_in_time_recovery
+ block is not provided, this defaults to false.
+ type: boolean
+ type: object
+ type: array
+ rangeKey:
+ description: Attribute to use as the range (sort) key. Must also
+ be defined as an attribute, see below.
+ type: string
+ readCapacity:
+ description: Number of read units for this table. If the billing_mode
+ is PROVISIONED, this field is required.
+ type: number
+ replica:
+ description: Configuration block(s) with DynamoDB Global Tables
+ V2 (version 2019.11.21) replication configurations. See below.
+ items:
+ properties:
+ arn:
+ description: ARN of the replica
+ type: string
+ kmsKeyArn:
+ description: 'ARN of the CMK that should be used for the
+ AWS KMS encryption. This argument should only be used
+ if the key is different from the default KMS-managed DynamoDB
+ key, alias/aws/dynamodb. Note: This attribute will not
+ be populated with the ARN of default keys.'
+ type: string
+ pointInTimeRecovery:
+ description: Whether to enable Point In Time Recovery for
+ the replica. Default is false.
+ type: boolean
+ propagateTags:
+ description: 'Whether to propagate the global table''s tags
+ to a replica. Default is false. Changes to tags only move
+ in one direction: from global (source) to replica. In
+ other words, tag drift on a replica will not trigger an
+ update. Tag or replica changes on the global table, whether
+ from drift or configuration changes, are propagated to
+ replicas. Changing from true to false on a subsequent
+ apply means replica tags are left as they were, unmanaged,
+ not deleted.'
+ type: boolean
+ regionName:
+ description: Region name of the replica.
+ type: string
+ streamArn:
+ description: ARN of the Table Stream. Only available when
+ stream_enabled = true
+ type: string
+ streamLabel:
+ description: Timestamp, in ISO 8601 format, for this stream.
+ Note that this timestamp is not a unique identifier for
+ the stream on its own. However, the combination of AWS
+ customer ID, table name and this field is guaranteed to
+ be unique. It can be used for creating CloudWatch Alarms.
+ Only available when stream_enabled = true.
+ type: string
+ type: object
+ type: array
+ restoreDateTime:
+ description: Time of the point-in-time recovery point to restore.
+ type: string
+ restoreSourceName:
+ description: Name of the table to restore. Must match the name
+ of an existing table.
+ type: string
+ restoreToLatestTime:
+ description: If set, restores table to the most recent point-in-time
+ recovery point.
+ type: boolean
+ serverSideEncryption:
+ description: Encryption at rest options. AWS DynamoDB tables are
+ automatically encrypted at rest with an AWS-owned Customer Master
+ Key if this argument isn't specified. See below.
+ items:
+ properties:
+ enabled:
+ description: Whether or not to enable encryption at rest
+ using an AWS managed KMS customer master key (CMK). If
+ enabled is false then server-side encryption is set to
+ AWS-owned key (shown as DEFAULT in the AWS console). Potentially
+ confusingly, if enabled is true and no kms_key_arn is
+ specified then server-side encryption is set to the default
+ KMS-managed key (shown as KMS in the AWS console). The
+ AWS KMS documentation explains the difference between
+ AWS-owned and KMS-managed keys.
+ type: boolean
+ kmsKeyArn:
+ description: 'ARN of the CMK that should be used for the
+ AWS KMS encryption. This argument should only be used
+ if the key is different from the default KMS-managed DynamoDB
+ key, alias/aws/dynamodb. Note: This attribute will not
+ be populated with the ARN of default keys.'
+ type: string
+ type: object
+ type: array
+ streamArn:
+ description: ARN of the Table Stream. Only available when stream_enabled
+ = true
+ type: string
+ streamEnabled:
+ description: Whether Streams are enabled.
+ type: boolean
+ streamLabel:
+ description: Timestamp, in ISO 8601 format, for this stream. Note
+ that this timestamp is not a unique identifier for the stream
+ on its own. However, the combination of AWS customer ID, table
+ name and this field is guaranteed to be unique. It can be used
+ for creating CloudWatch Alarms. Only available when stream_enabled
+ = true.
+ type: string
+ streamViewType:
+ description: When an item in the table is modified, StreamViewType
+ determines what information is written to the table's stream.
+ Valid values are KEYS_ONLY, NEW_IMAGE, OLD_IMAGE, NEW_AND_OLD_IMAGES.
+ type: string
+ tableClass:
+ description: Storage class of the table. Valid values are STANDARD
+ and STANDARD_INFREQUENT_ACCESS. Default value is STANDARD.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to populate on the created table. If
+ configured with a provider default_tags configuration block
+ present, tags with matching keys will overwrite those defined
+ at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: Map of tags assigned to the resource, including those
+ inherited from the provider default_tags configuration block.
+ type: object
+ ttl:
+ description: Configuration block for TTL. See below.
+ items:
+ properties:
+ attributeName:
+ description: Name of the table attribute to store the TTL
+ timestamp in.
+ type: string
+ enabled:
+ description: Whether TTL is enabled.
+ type: boolean
+ type: object
+ type: array
+ writeCapacity:
+ description: Number of write units for this table. If the billing_mode
+ is PROVISIONED, this field is required.
+ type: number
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tags.yaml b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tags.yaml
new file mode 100644
index 000000000..757f16bef
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tags.yaml
@@ -0,0 +1,339 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: tags.dynamodb.aws.kubedb.com
+spec:
+ group: dynamodb.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: Tag
+ listKind: TagList
+ plural: tags
+ singular: tag
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Tag is the Schema for the Tags API. Manages an individual DynamoDB
+ resource tag
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: TagSpec defines the desired state of Tag
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ key:
+ description: Tag name.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ resourceArn:
+ description: Amazon Resource Name (ARN) of the DynamoDB resource
+ to tag.
+ type: string
+ value:
+ description: Tag value.
+ type: string
+ required:
+ - key
+ - resourceArn
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ - message: value is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.value)
+ status:
+ description: TagStatus defines the observed state of Tag.
+ properties:
+ atProvider:
+ properties:
+ id:
+ description: DynamoDB resource identifier and key, separated by
+ a comma (,)
+ type: string
+ key:
+ description: Tag name.
+ type: string
+ resourceArn:
+ description: Amazon Resource Name (ARN) of the DynamoDB resource
+ to tag.
+ type: string
+ value:
+ description: Tag value.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_routes.yaml b/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_routes.yaml
new file mode 100644
index 000000000..14c46b47b
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_routes.yaml
@@ -0,0 +1,421 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: routes.ec2.aws.kubedb.com
+spec:
+ group: ec2.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: Route
+ listKind: RouteList
+ plural: routes
+ singular: route
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Route is the Schema for the Routes API. Provides a resource to
+ create a routing entry in a VPC routing table.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: RouteSpec defines the desired state of Route
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ carrierGatewayId:
+ description: Identifier of a carrier gateway. This attribute can
+ only be used when the VPC contains a subnet which is associated
+ with a Wavelength Zone.
+ type: string
+ coreNetworkArn:
+ description: The Amazon Resource Name (ARN) of a core network.
+ type: string
+ destinationCidrBlock:
+ description: The destination CIDR block.
+ type: string
+ destinationIpv6CidrBlock:
+ description: The destination IPv6 CIDR block.
+ type: string
+ destinationPrefixListId:
+ description: The ID of a managed prefix list destination.
+ type: string
+ egressOnlyGatewayId:
+ description: Identifier of a VPC Egress Only Internet Gateway.
+ type: string
+ gatewayId:
+ description: Identifier of a VPC internet gateway or a virtual
+ private gateway. Specify local when updating a previously imported
+ local route.
+ type: string
+ localGatewayId:
+ description: Identifier of a Outpost local gateway.
+ type: string
+ natGatewayId:
+ description: Identifier of a VPC NAT gateway.
+ type: string
+ networkInterfaceId:
+ description: Identifier of an EC2 network interface.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ routeTableId:
+ description: The ID of the routing table.
+ type: string
+ transitGatewayId:
+ description: Identifier of an EC2 Transit Gateway.
+ type: string
+ vpcEndpointId:
+ description: Identifier of a VPC Endpoint.
+ type: string
+ vpcPeeringConnectionId:
+ description: Identifier of a VPC peering connection.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ - message: routeTableId is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.routeTableId)
+ status:
+ description: RouteStatus defines the observed state of Route.
+ properties:
+ atProvider:
+ properties:
+ carrierGatewayId:
+ description: Identifier of a carrier gateway. This attribute can
+ only be used when the VPC contains a subnet which is associated
+ with a Wavelength Zone.
+ type: string
+ coreNetworkArn:
+ description: The Amazon Resource Name (ARN) of a core network.
+ type: string
+ destinationCidrBlock:
+ description: The destination CIDR block.
+ type: string
+ destinationIpv6CidrBlock:
+ description: The destination IPv6 CIDR block.
+ type: string
+ destinationPrefixListId:
+ description: The ID of a managed prefix list destination.
+ type: string
+ egressOnlyGatewayId:
+ description: Identifier of a VPC Egress Only Internet Gateway.
+ type: string
+ gatewayId:
+ description: Identifier of a VPC internet gateway or a virtual
+ private gateway. Specify local when updating a previously imported
+ local route.
+ type: string
+ id:
+ description: Route identifier computed from the routing table
+ identifier and route destination.
+ type: string
+ instanceId:
+ description: Identifier of an EC2 instance.
+ type: string
+ instanceOwnerId:
+ description: The AWS account ID of the owner of the EC2 instance.
+ type: string
+ localGatewayId:
+ description: Identifier of a Outpost local gateway.
+ type: string
+ natGatewayId:
+ description: Identifier of a VPC NAT gateway.
+ type: string
+ networkInterfaceId:
+ description: Identifier of an EC2 network interface.
+ type: string
+ origin:
+ description: How the route was created - CreateRouteTable, CreateRoute
+ or EnableVgwRoutePropagation.
+ type: string
+ routeTableId:
+ description: The ID of the routing table.
+ type: string
+ state:
+ description: The state of the route - active or blackhole.
+ type: string
+ transitGatewayId:
+ description: Identifier of an EC2 Transit Gateway.
+ type: string
+ vpcEndpointId:
+ description: Identifier of a VPC Endpoint.
+ type: string
+ vpcPeeringConnectionId:
+ description: Identifier of a VPC peering connection.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_securitygrouprules.yaml b/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_securitygrouprules.yaml
new file mode 100644
index 000000000..2d3b32fee
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_securitygrouprules.yaml
@@ -0,0 +1,424 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: securitygrouprules.ec2.aws.kubedb.com
+spec:
+ group: ec2.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: SecurityGroupRule
+ listKind: SecurityGroupRuleList
+ plural: securitygrouprules
+ singular: securitygrouprule
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: SecurityGroupRule is the Schema for the SecurityGroupRules API.
+ Provides an security group rule resource.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SecurityGroupRuleSpec defines the desired state of SecurityGroupRule
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ cidrBlocks:
+ description: List of CIDR blocks. Cannot be specified with source_security_group_id
+ or self.
+ items:
+ type: string
+ type: array
+ description:
+ description: Description of the rule.
+ type: string
+ fromPort:
+ description: Start port (or ICMP type number if protocol is "icmp"
+ or "icmpv6").
+ type: number
+ ipv6CidrBlocks:
+ description: List of IPv6 CIDR blocks. Cannot be specified with
+ source_security_group_id or self.
+ items:
+ type: string
+ type: array
+ prefixListIds:
+ description: List of Prefix List IDs.
+ items:
+ type: string
+ type: array
+ protocol:
+ description: Protocol. If not icmp, icmpv6, tcp, udp, or all use
+ the protocol number
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ securityGroupId:
+ description: Security group to apply this rule to.
+ type: string
+ self:
+ description: Whether the security group itself will be added as
+ a source to this ingress rule. Cannot be specified with cidr_blocks,
+ ipv6_cidr_blocks, or source_security_group_id.
+ type: boolean
+ sourceSecurityGroupId:
+ description: Security group id to allow access to/from, depending
+ on the type. Cannot be specified with cidr_blocks, ipv6_cidr_blocks,
+ or self.
+ type: string
+ toPort:
+ description: End port (or ICMP code if protocol is "icmp").
+ type: number
+ type:
+ description: Type of rule being created. Valid options are ingress
+ (inbound) or egress (outbound).
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: fromPort is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.fromPort)
+ - message: protocol is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.protocol)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ - message: securityGroupId is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.securityGroupId)
+ - message: toPort is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.toPort)
+ - message: type is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.type)
+ status:
+ description: SecurityGroupRuleStatus defines the observed state of SecurityGroupRule.
+ properties:
+ atProvider:
+ properties:
+ cidrBlocks:
+ description: List of CIDR blocks. Cannot be specified with source_security_group_id
+ or self.
+ items:
+ type: string
+ type: array
+ description:
+ description: Description of the rule.
+ type: string
+ fromPort:
+ description: Start port (or ICMP type number if protocol is "icmp"
+ or "icmpv6").
+ type: number
+ id:
+ description: ID of the security group rule.
+ type: string
+ ipv6CidrBlocks:
+ description: List of IPv6 CIDR blocks. Cannot be specified with
+ source_security_group_id or self.
+ items:
+ type: string
+ type: array
+ prefixListIds:
+ description: List of Prefix List IDs.
+ items:
+ type: string
+ type: array
+ protocol:
+ description: Protocol. If not icmp, icmpv6, tcp, udp, or all use
+ the protocol number
+ type: string
+ securityGroupId:
+ description: Security group to apply this rule to.
+ type: string
+ securityGroupRuleId:
+ description: If the aws_security_group_rule resource has a single
+ source or destination then this is the AWS Security Group Rule
+ resource ID. Otherwise it is empty.
+ type: string
+ self:
+ description: Whether the security group itself will be added as
+ a source to this ingress rule. Cannot be specified with cidr_blocks,
+ ipv6_cidr_blocks, or source_security_group_id.
+ type: boolean
+ sourceSecurityGroupId:
+ description: Security group id to allow access to/from, depending
+ on the type. Cannot be specified with cidr_blocks, ipv6_cidr_blocks,
+ or self.
+ type: string
+ toPort:
+ description: End port (or ICMP code if protocol is "icmp").
+ type: number
+ type:
+ description: Type of rule being created. Valid options are ingress
+ (inbound) or egress (outbound).
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_vpcpeeringconnections.yaml b/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_vpcpeeringconnections.yaml
new file mode 100644
index 000000000..df8711ab7
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_vpcpeeringconnections.yaml
@@ -0,0 +1,443 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: vpcpeeringconnections.ec2.aws.kubedb.com
+spec:
+ group: ec2.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: VPCPeeringConnection
+ listKind: VPCPeeringConnectionList
+ plural: vpcpeeringconnections
+ singular: vpcpeeringconnection
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: VPCPeeringConnection is the Schema for the VPCPeeringConnections
+ API. Provides a resource to manage a VPC peering connection.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: VPCPeeringConnectionSpec defines the desired state of VPCPeeringConnection
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ accepter:
+ description: An optional configuration block that allows for VPC
+ Peering Connection options to be set for the VPC that accepts
+ the peering connection (a maximum of one).
+ items:
+ properties:
+ allowRemoteVpcDnsResolution:
+ description: Allow a local VPC to resolve public DNS hostnames
+ to private IP addresses when queried from instances in
+ the peer VPC.
+ type: boolean
+ type: object
+ type: array
+ autoAccept:
+ description: Accept the peering (both VPCs need to be in the same
+ AWS account and region).
+ type: boolean
+ peerOwnerId:
+ description: The AWS account ID of the owner of the peer VPC.
+ Defaults to the account ID the AWS provider is currently connected
+ to.
+ type: string
+ peerRegion:
+ description: The region of the accepter VPC of the VPC Peering
+ Connection. auto_accept must be false, and use the aws_vpc_peering_connection_accepter
+ to manage the accepter side.
+ type: string
+ peerVpcId:
+ description: The ID of the VPC with which you are creating the
+ VPC Peering Connection.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ requester:
+ description: A optional configuration block that allows for VPC
+ Peering Connection options to be set for the VPC that requests
+ the peering connection (a maximum of one).
+ items:
+ properties:
+ allowRemoteVpcDnsResolution:
+ description: Allow a local VPC to resolve public DNS hostnames
+ to private IP addresses when queried from instances in
+ the peer VPC.
+ type: boolean
+ type: object
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ vpcId:
+ description: The ID of the requester VPC.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: peerVpcId is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.peerVpcId)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ - message: vpcId is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.vpcId)
+ status:
+ description: VPCPeeringConnectionStatus defines the observed state of
+ VPCPeeringConnection.
+ properties:
+ atProvider:
+ properties:
+ acceptStatus:
+ description: The status of the VPC Peering Connection request.
+ type: string
+ accepter:
+ description: An optional configuration block that allows for VPC
+ Peering Connection options to be set for the VPC that accepts
+ the peering connection (a maximum of one).
+ items:
+ properties:
+ allowRemoteVpcDnsResolution:
+ description: Allow a local VPC to resolve public DNS hostnames
+ to private IP addresses when queried from instances in
+ the peer VPC.
+ type: boolean
+ type: object
+ type: array
+ autoAccept:
+ description: Accept the peering (both VPCs need to be in the same
+ AWS account and region).
+ type: boolean
+ id:
+ description: The ID of the VPC Peering Connection.
+ type: string
+ peerOwnerId:
+ description: The AWS account ID of the owner of the peer VPC.
+ Defaults to the account ID the AWS provider is currently connected
+ to.
+ type: string
+ peerRegion:
+ description: The region of the accepter VPC of the VPC Peering
+ Connection. auto_accept must be false, and use the aws_vpc_peering_connection_accepter
+ to manage the accepter side.
+ type: string
+ peerVpcId:
+ description: The ID of the VPC with which you are creating the
+ VPC Peering Connection.
+ type: string
+ requester:
+ description: A optional configuration block that allows for VPC
+ Peering Connection options to be set for the VPC that requests
+ the peering connection (a maximum of one).
+ items:
+ properties:
+ allowRemoteVpcDnsResolution:
+ description: Allow a local VPC to resolve public DNS hostnames
+ to private IP addresses when queried from instances in
+ the peer VPC.
+ type: boolean
+ type: object
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ vpcId:
+ description: The ID of the requester VPC.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_clusters.yaml b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_clusters.yaml
new file mode 100644
index 000000000..febd080d0
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_clusters.yaml
@@ -0,0 +1,793 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: clusters.elasticache.aws.kubedb.com
+spec:
+ group: elasticache.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: Cluster
+ listKind: ClusterList
+ plural: clusters
+ singular: cluster
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Cluster is the Schema for the Clusters API. Provides an ElastiCache
+ Cluster resource.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ClusterSpec defines the desired state of Cluster
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ applyImmediately:
+ description: Whether any database modifications are applied immediately,
+ or during the next maintenance window. Default is false. See
+ Amazon ElastiCache Documentation for more information..
+ type: boolean
+ autoMinorVersionUpgrade:
+ description: Specifies whether minor version engine upgrades will
+ be applied automatically to the underlying Cache Cluster instances
+ during the maintenance window. Only supported for engine type
+ "redis" and if the engine version is 6 or higher. Defaults to
+ true.
+ type: string
+ availabilityZone:
+ description: 'Availability Zone for the cache cluster. If you
+ want to create cache nodes in multi-az, use preferred_availability_zones
+ instead. Default: System chosen Availability Zone. Changing
+ this value will re-create the resource.'
+ type: string
+ azMode:
+ description: Whether the nodes in this Memcached node group are
+ created in a single Availability Zone or created across multiple
+ Availability Zones in the cluster's region. Valid values for
+ this parameter are single-az or cross-az, default is single-az.
+ If you want to choose cross-az, num_cache_nodes must be greater
+ than 1.
+ type: string
+ engine:
+ description: – Name of the cache engine to be used for this cache
+ cluster. Valid values are memcached or redis.
+ type: string
+ engineVersion:
+ description: – Version number of the cache engine to be used.
+ If not set, defaults to the latest version. See Describe Cache
+ Engine Versions in the AWS Documentation for supported versions.
+ When engine is redis and the version is 6 or higher, the major
+ and minor version can be set, e.g., 6.2, or the minor version
+ can be unspecified which will use the latest version at creation
+ time, e.g., 6.x. Otherwise, specify the full version desired,
+ e.g., 5.0.6. The actual engine version used is returned in the
+ attribute engine_version_actual, see Attributes Reference below.
+ type: string
+ finalSnapshotIdentifier:
+ description: Name of your final cluster snapshot. If omitted,
+ no final snapshot will be made.
+ type: string
+ ipDiscovery:
+ description: The IP version to advertise in the discovery protocol.
+ Valid values are ipv4 or ipv6.
+ type: string
+ logDeliveryConfiguration:
+ description: Specifies the destination and format of Redis SLOWLOG
+ or Redis Engine Log. See the documentation on Amazon ElastiCache.
+ See Log Delivery Configuration below for more details.
+ items:
+ properties:
+ destination:
+ description: Name of either the CloudWatch Logs LogGroup
+ or Kinesis Data Firehose resource.
+ type: string
+ destinationType:
+ description: For CloudWatch Logs use cloudwatch-logs or
+ for Kinesis Data Firehose use kinesis-firehose.
+ type: string
+ logFormat:
+ description: Valid values are json or text
+ type: string
+ logType:
+ description: Valid values are slow-log or engine-log. Max
+ 1 of each.
+ type: string
+ required:
+ - destination
+ - destinationType
+ - logFormat
+ - logType
+ type: object
+ type: array
+ maintenanceWindow:
+ description: 'ddd:hh24:mi (24H Clock UTC). The minimum maintenance
+ window is a 60 minute period. Example: sun:05:00-sun:09:00.'
+ type: string
+ networkType:
+ description: The IP versions for cache cluster connections. IPv6
+ is supported with Redis engine 6.2 onword or Memcached version
+ 1.6.6 for all Nitro system instances. Valid values are ipv4,
+ ipv6 or dual_stack.
+ type: string
+ nodeType:
+ description: create the resource.
+ type: string
+ notificationTopicArn:
+ description: east-1:012345678999:my_sns_topic.
+ type: string
+ numCacheNodes:
+ description: – The initial number of cache nodes that the cache
+ cluster will have. For Redis, this value must be 1. For Memcached,
+ this value must be between 1 and 40. If this number is reduced
+ on subsequent runs, the highest numbered nodes will be removed.
+ type: number
+ outpostMode:
+ description: Specify the outpost mode that will apply to the cache
+ cluster creation. Valid values are "single-outpost" and "cross-outpost",
+ however AWS currently only supports "single-outpost" mode.
+ type: string
+ parameterGroupName:
+ description: – The name of the parameter group to associate with
+ this cache cluster.
+ type: string
+ parameterGroupNameRef:
+ description: Reference to a ParameterGroup in elasticache to populate
+ parameterGroupName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ parameterGroupNameSelector:
+ description: Selector for a ParameterGroup in elasticache to populate
+ parameterGroupName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ port:
+ description: create the resource.
+ type: number
+ preferredAvailabilityZones:
+ description: 'List of the Availability Zones in which cache nodes
+ are created. If you are creating your cluster in an Amazon VPC
+ you can only locate nodes in Availability Zones that are associated
+ with the subnets in the selected subnet group. The number of
+ Availability Zones listed must equal the value of num_cache_nodes.
+ If you want all the nodes in the same Availability Zone, use
+ availability_zone instead, or repeat the Availability Zone multiple
+ times in the list. Default: System chosen Availability Zones.
+ Detecting drift of existing node availability zone is not currently
+ supported. Updating this argument by itself to migrate existing
+ node availability zones is not currently supported and will
+ show a perpetual difference.'
+ items:
+ type: string
+ type: array
+ preferredOutpostArn:
+ description: The outpost ARN in which the cache cluster will be
+ created.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ replicationGroupId:
+ description: ID of the replication group to which this cluster
+ should belong. If this parameter is specified, the cluster is
+ added to the specified replication group as a read replica;
+ otherwise, the cluster is a standalone primary that is not part
+ of any replication group.
+ type: string
+ securityGroupIds:
+ description: – One or more VPC security groups associated with
+ the cache cluster
+ items:
+ type: string
+ type: array
+ snapshotArns:
+ description: element string list containing an Amazon Resource
+ Name (ARN) of a Redis RDB snapshot file stored in Amazon S3.
+ The object name cannot contain any commas. Changing snapshot_arns
+ forces a new resource.
+ items:
+ type: string
+ type: array
+ snapshotName:
+ description: Name of a snapshot from which to restore data into
+ the new node group. Changing snapshot_name forces a new resource.
+ type: string
+ snapshotRetentionLimit:
+ description: Number of days for which ElastiCache will retain
+ automatic cache cluster snapshots before deleting them. For
+ example, if you set SnapshotRetentionLimit to 5, then a snapshot
+ that was taken today will be retained for 5 days before being
+ deleted. If the value of SnapshotRetentionLimit is set to zero
+ (0), backups are turned off. Please note that setting a snapshot_retention_limit
+ is not supported on cache.t1.micro cache nodes
+ type: number
+ snapshotWindow:
+ description: 'Daily time range (in UTC) during which ElastiCache
+ will begin taking a daily snapshot of your cache cluster. Example:
+ 05:00-09:00'
+ type: string
+ subnetGroupName:
+ description: create the resource.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: Map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: Map of tags assigned to the resource, including those
+ inherited from the provider default_tags configuration block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: ClusterStatus defines the observed state of Cluster.
+ properties:
+ atProvider:
+ properties:
+ applyImmediately:
+ description: Whether any database modifications are applied immediately,
+ or during the next maintenance window. Default is false. See
+ Amazon ElastiCache Documentation for more information..
+ type: boolean
+ arn:
+ description: The ARN of the created ElastiCache Cluster.
+ type: string
+ autoMinorVersionUpgrade:
+ description: Specifies whether minor version engine upgrades will
+ be applied automatically to the underlying Cache Cluster instances
+ during the maintenance window. Only supported for engine type
+ "redis" and if the engine version is 6 or higher. Defaults to
+ true.
+ type: string
+ availabilityZone:
+ description: 'Availability Zone for the cache cluster. If you
+ want to create cache nodes in multi-az, use preferred_availability_zones
+ instead. Default: System chosen Availability Zone. Changing
+ this value will re-create the resource.'
+ type: string
+ azMode:
+ description: Whether the nodes in this Memcached node group are
+ created in a single Availability Zone or created across multiple
+ Availability Zones in the cluster's region. Valid values for
+ this parameter are single-az or cross-az, default is single-az.
+ If you want to choose cross-az, num_cache_nodes must be greater
+ than 1.
+ type: string
+ cacheNodes:
+ description: List of node objects including id, address, port
+ and availability_zone.
+ items:
+ properties:
+ address:
+ type: string
+ availabilityZone:
+ description: 'Availability Zone for the cache cluster. If
+ you want to create cache nodes in multi-az, use preferred_availability_zones
+ instead. Default: System chosen Availability Zone. Changing
+ this value will re-create the resource.'
+ type: string
+ id:
+ type: string
+ outpostArn:
+ description: The ARN of the created ElastiCache Cluster.
+ type: string
+ port:
+ description: create the resource.
+ type: number
+ type: object
+ type: array
+ clusterAddress:
+ description: (Memcached only) DNS name of the cache cluster without
+ the port appended.
+ type: string
+ configurationEndpoint:
+ description: (Memcached only) Configuration endpoint to allow
+ host discovery.
+ type: string
+ engine:
+ description: – Name of the cache engine to be used for this cache
+ cluster. Valid values are memcached or redis.
+ type: string
+ engineVersion:
+ description: – Version number of the cache engine to be used.
+ If not set, defaults to the latest version. See Describe Cache
+ Engine Versions in the AWS Documentation for supported versions.
+ When engine is redis and the version is 6 or higher, the major
+ and minor version can be set, e.g., 6.2, or the minor version
+ can be unspecified which will use the latest version at creation
+ time, e.g., 6.x. Otherwise, specify the full version desired,
+ e.g., 5.0.6. The actual engine version used is returned in the
+ attribute engine_version_actual, see Attributes Reference below.
+ type: string
+ engineVersionActual:
+ description: Because ElastiCache pulls the latest minor or patch
+ for a version, this attribute returns the running version of
+ the cache engine.
+ type: string
+ finalSnapshotIdentifier:
+ description: Name of your final cluster snapshot. If omitted,
+ no final snapshot will be made.
+ type: string
+ id:
+ type: string
+ ipDiscovery:
+ description: The IP version to advertise in the discovery protocol.
+ Valid values are ipv4 or ipv6.
+ type: string
+ logDeliveryConfiguration:
+ description: Specifies the destination and format of Redis SLOWLOG
+ or Redis Engine Log. See the documentation on Amazon ElastiCache.
+ See Log Delivery Configuration below for more details.
+ items:
+ properties:
+ destination:
+ description: Name of either the CloudWatch Logs LogGroup
+ or Kinesis Data Firehose resource.
+ type: string
+ destinationType:
+ description: For CloudWatch Logs use cloudwatch-logs or
+ for Kinesis Data Firehose use kinesis-firehose.
+ type: string
+ logFormat:
+ description: Valid values are json or text
+ type: string
+ logType:
+ description: Valid values are slow-log or engine-log. Max
+ 1 of each.
+ type: string
+ type: object
+ type: array
+ maintenanceWindow:
+ description: 'ddd:hh24:mi (24H Clock UTC). The minimum maintenance
+ window is a 60 minute period. Example: sun:05:00-sun:09:00.'
+ type: string
+ networkType:
+ description: The IP versions for cache cluster connections. IPv6
+ is supported with Redis engine 6.2 onword or Memcached version
+ 1.6.6 for all Nitro system instances. Valid values are ipv4,
+ ipv6 or dual_stack.
+ type: string
+ nodeType:
+ description: create the resource.
+ type: string
+ notificationTopicArn:
+ description: east-1:012345678999:my_sns_topic.
+ type: string
+ numCacheNodes:
+ description: – The initial number of cache nodes that the cache
+ cluster will have. For Redis, this value must be 1. For Memcached,
+ this value must be between 1 and 40. If this number is reduced
+ on subsequent runs, the highest numbered nodes will be removed.
+ type: number
+ outpostMode:
+ description: Specify the outpost mode that will apply to the cache
+ cluster creation. Valid values are "single-outpost" and "cross-outpost",
+ however AWS currently only supports "single-outpost" mode.
+ type: string
+ parameterGroupName:
+ description: – The name of the parameter group to associate with
+ this cache cluster.
+ type: string
+ port:
+ description: create the resource.
+ type: number
+ preferredAvailabilityZones:
+ description: 'List of the Availability Zones in which cache nodes
+ are created. If you are creating your cluster in an Amazon VPC
+ you can only locate nodes in Availability Zones that are associated
+ with the subnets in the selected subnet group. The number of
+ Availability Zones listed must equal the value of num_cache_nodes.
+ If you want all the nodes in the same Availability Zone, use
+ availability_zone instead, or repeat the Availability Zone multiple
+ times in the list. Default: System chosen Availability Zones.
+ Detecting drift of existing node availability zone is not currently
+ supported. Updating this argument by itself to migrate existing
+ node availability zones is not currently supported and will
+ show a perpetual difference.'
+ items:
+ type: string
+ type: array
+ preferredOutpostArn:
+ description: The outpost ARN in which the cache cluster will be
+ created.
+ type: string
+ replicationGroupId:
+ description: ID of the replication group to which this cluster
+ should belong. If this parameter is specified, the cluster is
+ added to the specified replication group as a read replica;
+ otherwise, the cluster is a standalone primary that is not part
+ of any replication group.
+ type: string
+ securityGroupIds:
+ description: – One or more VPC security groups associated with
+ the cache cluster
+ items:
+ type: string
+ type: array
+ snapshotArns:
+ description: element string list containing an Amazon Resource
+ Name (ARN) of a Redis RDB snapshot file stored in Amazon S3.
+ The object name cannot contain any commas. Changing snapshot_arns
+ forces a new resource.
+ items:
+ type: string
+ type: array
+ snapshotName:
+ description: Name of a snapshot from which to restore data into
+ the new node group. Changing snapshot_name forces a new resource.
+ type: string
+ snapshotRetentionLimit:
+ description: Number of days for which ElastiCache will retain
+ automatic cache cluster snapshots before deleting them. For
+ example, if you set SnapshotRetentionLimit to 5, then a snapshot
+ that was taken today will be retained for 5 days before being
+ deleted. If the value of SnapshotRetentionLimit is set to zero
+ (0), backups are turned off. Please note that setting a snapshot_retention_limit
+ is not supported on cache.t1.micro cache nodes
+ type: number
+ snapshotWindow:
+ description: 'Daily time range (in UTC) during which ElastiCache
+ will begin taking a daily snapshot of your cache cluster. Example:
+ 05:00-09:00'
+ type: string
+ subnetGroupName:
+ description: create the resource.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: Map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: Map of tags assigned to the resource, including those
+ inherited from the provider default_tags configuration block.
+ type: object
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_parametergroups.yaml b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_parametergroups.yaml
new file mode 100644
index 000000000..7f0e7f8e1
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_parametergroups.yaml
@@ -0,0 +1,393 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: parametergroups.elasticache.aws.kubedb.com
+spec:
+ group: elasticache.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: ParameterGroup
+ listKind: ParameterGroupList
+ plural: parametergroups
+ singular: parametergroup
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ParameterGroup is the Schema for the ParameterGroups API. Provides
+ an ElastiCache parameter group resource.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ParameterGroupSpec defines the desired state of ParameterGroup
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ description:
+ description: The description of the ElastiCache parameter group.
+ type: string
+ family:
+ description: The family of the ElastiCache parameter group.
+ type: string
+ name:
+ description: The name of the ElastiCache parameter group.
+ type: string
+ parameter:
+ description: A list of ElastiCache parameters to apply.
+ items:
+ properties:
+ name:
+ description: The name of the ElastiCache parameter group.
+ type: string
+ value:
+ description: The value of the ElastiCache parameter.
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: Key-value mapping of resource tags. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: family is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.family)
+ - message: name is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: ParameterGroupStatus defines the observed state of ParameterGroup.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: The AWS ARN associated with the parameter group.
+ type: string
+ description:
+ description: The description of the ElastiCache parameter group.
+ type: string
+ family:
+ description: The family of the ElastiCache parameter group.
+ type: string
+ id:
+ description: The ElastiCache parameter group name.
+ type: string
+ name:
+ description: The name of the ElastiCache parameter group.
+ type: string
+ parameter:
+ description: A list of ElastiCache parameters to apply.
+ items:
+ properties:
+ name:
+ description: The name of the ElastiCache parameter group.
+ type: string
+ value:
+ description: The value of the ElastiCache parameter.
+ type: string
+ type: object
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: Key-value mapping of resource tags. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_replicationgroups.yaml b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_replicationgroups.yaml
new file mode 100644
index 000000000..58bfcb2c4
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_replicationgroups.yaml
@@ -0,0 +1,929 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: replicationgroups.elasticache.aws.kubedb.com
+spec:
+ group: elasticache.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: ReplicationGroup
+ listKind: ReplicationGroupList
+ plural: replicationgroups
+ singular: replicationgroup
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ReplicationGroup is the Schema for the ReplicationGroups API.
+ Provides an ElastiCache Replication Group resource.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ReplicationGroupSpec defines the desired state of ReplicationGroup
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ applyImmediately:
+ description: Specifies whether any modifications are applied immediately,
+ or during the next maintenance window. Default is false.
+ type: boolean
+ atRestEncryptionEnabled:
+ description: Whether to enable encryption at rest.
+ type: boolean
+ authTokenSecretRef:
+ description: Password used to access a password protected server.
+ Can be specified only if transit_encryption_enabled = true.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ autoMinorVersionUpgrade:
+ description: Specifies whether minor version engine upgrades will
+ be applied automatically to the underlying Cache Cluster instances
+ during the maintenance window. Only supported for engine type
+ "redis" and if the engine version is 6 or higher. Defaults to
+ true.
+ type: string
+ automaticFailoverEnabled:
+ description: Specifies whether a read-only replica will be automatically
+ promoted to read/write primary if the existing primary fails.
+ If enabled, num_cache_clusters must be greater than 1. Must
+ be enabled for Redis (cluster mode enabled) replication groups.
+ Defaults to false.
+ type: boolean
+ dataTieringEnabled:
+ description: Enables data tiering. Data tiering is only supported
+ for replication groups using the r6gd node type. This parameter
+ must be set to true when using r6gd nodes.
+ type: boolean
+ description:
+ description: created description for the replication group. Must
+ not be empty.
+ type: string
+ engine:
+ description: Name of the cache engine to be used for the clusters
+ in this replication group. The only valid value is redis.
+ type: string
+ engineVersion:
+ description: Version number of the cache engine to be used for
+ the cache clusters in this replication group. If the version
+ is 6 or higher, the major and minor version can be set, e.g.,
+ 6.2, or the minor version can be unspecified which will use
+ the latest version at creation time, e.g., 6.x. Otherwise, specify
+ the full version desired, e.g., 5.0.6. The actual engine version
+ used is returned in the attribute engine_version_actual, see
+ Attributes Reference below.
+ type: string
+ finalSnapshotIdentifier:
+ description: The name of your final node group (shard) snapshot.
+ ElastiCache creates the snapshot from the primary node in the
+ cluster. If omitted, no final snapshot will be made.
+ type: string
+ globalReplicationGroupId:
+ description: The ID of the global replication group to which this
+ replication group should belong. If this parameter is specified,
+ the replication group is added to the specified global replication
+ group as a secondary replication group; otherwise, the replication
+ group is not part of any global replication group. If global_replication_group_id
+ is set, the num_node_groups parameter cannot be set.
+ type: string
+ kmsKeyId:
+ description: The ARN of the key that you wish to use if encrypting
+ at rest. If not supplied, uses service managed encryption. Can
+ be specified only if at_rest_encryption_enabled = true.
+ type: string
+ kmsKeyIdRef:
+ description: Reference to a Key in kms to populate kmsKeyId.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ kmsKeyIdSelector:
+ description: Selector for a Key in kms to populate kmsKeyId.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ logDeliveryConfiguration:
+ description: Specifies the destination and format of Redis SLOWLOG
+ or Redis Engine Log. See the documentation on Amazon ElastiCache.
+ See Log Delivery Configuration below for more details.
+ items:
+ properties:
+ destination:
+ description: Name of either the CloudWatch Logs LogGroup
+ or Kinesis Data Firehose resource.
+ type: string
+ destinationType:
+ description: For CloudWatch Logs use cloudwatch-logs or
+ for Kinesis Data Firehose use kinesis-firehose.
+ type: string
+ logFormat:
+ description: Valid values are json or text
+ type: string
+ logType:
+ description: Valid values are slow-log or engine-log. Max
+ 1 of each.
+ type: string
+ required:
+ - destination
+ - destinationType
+ - logFormat
+ - logType
+ type: object
+ type: array
+ maintenanceWindow:
+ description: 'ddd:hh24:mi (24H Clock UTC). The minimum maintenance
+ window is a 60 minute period. Example: sun:05:00-sun:09:00'
+ type: string
+ multiAzEnabled:
+ description: Specifies whether to enable Multi-AZ Support for
+ the replication group. If true, automatic_failover_enabled must
+ also be enabled. Defaults to false.
+ type: boolean
+ nodeType:
+ description: Instance class to be used. See AWS documentation
+ for information on supported node types and guidance on selecting
+ node types. Required unless global_replication_group_id is set.
+ Cannot be set if global_replication_group_id is set.
+ type: string
+ notificationTopicArn:
+ description: east-1:012345678999:my_sns_topic
+ type: string
+ numCacheClusters:
+ description: 00#.
+ type: number
+ numNodeGroups:
+ description: Number of node groups (shards) for this Redis replication
+ group. Changing this number will trigger a resizing operation
+ before other settings modifications.
+ type: number
+ parameterGroupName:
+ description: Name of the parameter group to associate with this
+ replication group. If this argument is omitted, the default
+ cache parameter group for the specified engine is used. To enable
+ "cluster mode", i.e., data sharding, use a parameter group that
+ has the parameter cluster-enabled set to true.
+ type: string
+ port:
+ description: – Port number on which each of the cache nodes will
+ accept connections. For Memcache the default is 11211, and for
+ Redis the default port is 6379.
+ type: number
+ preferredCacheClusterAzs:
+ description: List of EC2 availability zones in which the replication
+ group's cache clusters will be created. The order of the availability
+ zones in the list is considered. The first item in the list
+ will be the primary node. Ignored when updating.
+ items:
+ type: string
+ type: array
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ replicasPerNodeGroup:
+ description: Number of replica nodes in each node group. Changing
+ this number will trigger a resizing operation before other settings
+ modifications. Valid values are 0 to 5.
+ type: number
+ securityGroupIds:
+ description: One or more Amazon VPC security groups associated
+ with this replication group. Use this parameter only when you
+ are creating a replication group in an Amazon Virtual Private
+ Cloud
+ items:
+ type: string
+ type: array
+ securityGroupNames:
+ description: List of cache security group names to associate with
+ this replication group.
+ items:
+ type: string
+ type: array
+ snapshotArns:
+ description: – List of ARNs that identify Redis RDB snapshot
+ files stored in Amazon S3. The names object names cannot contain
+ any commas.
+ items:
+ type: string
+ type: array
+ snapshotName:
+ description: Name of a snapshot from which to restore data into
+ the new node group. Changing the snapshot_name forces a new
+ resource.
+ type: string
+ snapshotRetentionLimit:
+ description: Number of days for which ElastiCache will retain
+ automatic cache cluster snapshots before deleting them. For
+ example, if you set SnapshotRetentionLimit to 5, then a snapshot
+ that was taken today will be retained for 5 days before being
+ deleted. If the value of snapshot_retention_limit is set to
+ zero (0), backups are turned off. Please note that setting a
+ snapshot_retention_limit is not supported on cache.t1.micro
+ cache nodes
+ type: number
+ snapshotWindow:
+ description: 'Daily time range (in UTC) during which ElastiCache
+ will begin taking a daily snapshot of your cache cluster. The
+ minimum snapshot window is a 60 minute period. Example: 05:00-09:00'
+ type: string
+ subnetGroupName:
+ description: Name of the cache subnet group to be used for the
+ replication group.
+ type: string
+ subnetGroupNameRef:
+ description: Reference to a SubnetGroup to populate subnetGroupName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ subnetGroupNameSelector:
+ description: Selector for a SubnetGroup to populate subnetGroupName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ tags:
+ additionalProperties:
+ type: string
+ description: Map of tags to assign to the resource. Adding tags
+ to this resource will add or overwrite any existing tags on
+ the clusters in the replication group and not to the group itself.
+ If configured with a provider default_tags configuration block
+ present, tags with matching keys will overwrite those defined
+ at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: Map of tags assigned to the resource, including those
+ inherited from the provider default_tags configuration block.
+ type: object
+ transitEncryptionEnabled:
+ description: Whether to enable encryption in transit.
+ type: boolean
+ userGroupIds:
+ description: 'User Group ID to associate with the replication
+ group. Only a maximum of one (1) user group ID is valid. NOTE:
+ This argument is a set because the AWS specification allows
+ for multiple IDs. However, in practice, AWS only allows a maximum
+ size of one.'
+ items:
+ type: string
+ type: array
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: ReplicationGroupStatus defines the observed state of ReplicationGroup.
+ properties:
+ atProvider:
+ properties:
+ applyImmediately:
+ description: Specifies whether any modifications are applied immediately,
+ or during the next maintenance window. Default is false.
+ type: boolean
+ arn:
+ description: ARN of the created ElastiCache Replication Group.
+ type: string
+ atRestEncryptionEnabled:
+ description: Whether to enable encryption at rest.
+ type: boolean
+ autoMinorVersionUpgrade:
+ description: Specifies whether minor version engine upgrades will
+ be applied automatically to the underlying Cache Cluster instances
+ during the maintenance window. Only supported for engine type
+ "redis" and if the engine version is 6 or higher. Defaults to
+ true.
+ type: string
+ automaticFailoverEnabled:
+ description: Specifies whether a read-only replica will be automatically
+ promoted to read/write primary if the existing primary fails.
+ If enabled, num_cache_clusters must be greater than 1. Must
+ be enabled for Redis (cluster mode enabled) replication groups.
+ Defaults to false.
+ type: boolean
+ clusterEnabled:
+ description: Indicates if cluster mode is enabled.
+ type: boolean
+ configurationEndpointAddress:
+ description: Address of the replication group configuration endpoint
+ when cluster mode is enabled.
+ type: string
+ dataTieringEnabled:
+ description: Enables data tiering. Data tiering is only supported
+ for replication groups using the r6gd node type. This parameter
+ must be set to true when using r6gd nodes.
+ type: boolean
+ description:
+ description: created description for the replication group. Must
+ not be empty.
+ type: string
+ engine:
+ description: Name of the cache engine to be used for the clusters
+ in this replication group. The only valid value is redis.
+ type: string
+ engineVersion:
+ description: Version number of the cache engine to be used for
+ the cache clusters in this replication group. If the version
+ is 6 or higher, the major and minor version can be set, e.g.,
+ 6.2, or the minor version can be unspecified which will use
+ the latest version at creation time, e.g., 6.x. Otherwise, specify
+ the full version desired, e.g., 5.0.6. The actual engine version
+ used is returned in the attribute engine_version_actual, see
+ Attributes Reference below.
+ type: string
+ engineVersionActual:
+ description: Because ElastiCache pulls the latest minor or patch
+ for a version, this attribute returns the running version of
+ the cache engine.
+ type: string
+ finalSnapshotIdentifier:
+ description: The name of your final node group (shard) snapshot.
+ ElastiCache creates the snapshot from the primary node in the
+ cluster. If omitted, no final snapshot will be made.
+ type: string
+ globalReplicationGroupId:
+ description: The ID of the global replication group to which this
+ replication group should belong. If this parameter is specified,
+ the replication group is added to the specified global replication
+ group as a secondary replication group; otherwise, the replication
+ group is not part of any global replication group. If global_replication_group_id
+ is set, the num_node_groups parameter cannot be set.
+ type: string
+ id:
+ description: ID of the ElastiCache Replication Group.
+ type: string
+ kmsKeyId:
+ description: The ARN of the key that you wish to use if encrypting
+ at rest. If not supplied, uses service managed encryption. Can
+ be specified only if at_rest_encryption_enabled = true.
+ type: string
+ logDeliveryConfiguration:
+ description: Specifies the destination and format of Redis SLOWLOG
+ or Redis Engine Log. See the documentation on Amazon ElastiCache.
+ See Log Delivery Configuration below for more details.
+ items:
+ properties:
+ destination:
+ description: Name of either the CloudWatch Logs LogGroup
+ or Kinesis Data Firehose resource.
+ type: string
+ destinationType:
+ description: For CloudWatch Logs use cloudwatch-logs or
+ for Kinesis Data Firehose use kinesis-firehose.
+ type: string
+ logFormat:
+ description: Valid values are json or text
+ type: string
+ logType:
+ description: Valid values are slow-log or engine-log. Max
+ 1 of each.
+ type: string
+ type: object
+ type: array
+ maintenanceWindow:
+ description: 'ddd:hh24:mi (24H Clock UTC). The minimum maintenance
+ window is a 60 minute period. Example: sun:05:00-sun:09:00'
+ type: string
+ memberClusters:
+ description: Identifiers of all the nodes that are part of this
+ replication group.
+ items:
+ type: string
+ type: array
+ multiAzEnabled:
+ description: Specifies whether to enable Multi-AZ Support for
+ the replication group. If true, automatic_failover_enabled must
+ also be enabled. Defaults to false.
+ type: boolean
+ nodeType:
+ description: Instance class to be used. See AWS documentation
+ for information on supported node types and guidance on selecting
+ node types. Required unless global_replication_group_id is set.
+ Cannot be set if global_replication_group_id is set.
+ type: string
+ notificationTopicArn:
+ description: east-1:012345678999:my_sns_topic
+ type: string
+ numCacheClusters:
+ description: 00#.
+ type: number
+ numNodeGroups:
+ description: Number of node groups (shards) for this Redis replication
+ group. Changing this number will trigger a resizing operation
+ before other settings modifications.
+ type: number
+ parameterGroupName:
+ description: Name of the parameter group to associate with this
+ replication group. If this argument is omitted, the default
+ cache parameter group for the specified engine is used. To enable
+ "cluster mode", i.e., data sharding, use a parameter group that
+ has the parameter cluster-enabled set to true.
+ type: string
+ port:
+ description: – Port number on which each of the cache nodes will
+ accept connections. For Memcache the default is 11211, and for
+ Redis the default port is 6379.
+ type: number
+ preferredCacheClusterAzs:
+ description: List of EC2 availability zones in which the replication
+ group's cache clusters will be created. The order of the availability
+ zones in the list is considered. The first item in the list
+ will be the primary node. Ignored when updating.
+ items:
+ type: string
+ type: array
+ primaryEndpointAddress:
+ description: (Redis only) Address of the endpoint for the primary
+ node in the replication group, if the cluster mode is disabled.
+ type: string
+ readerEndpointAddress:
+ description: (Redis only) Address of the endpoint for the reader
+ node in the replication group, if the cluster mode is disabled.
+ type: string
+ replicasPerNodeGroup:
+ description: Number of replica nodes in each node group. Changing
+ this number will trigger a resizing operation before other settings
+ modifications. Valid values are 0 to 5.
+ type: number
+ securityGroupIds:
+ description: One or more Amazon VPC security groups associated
+ with this replication group. Use this parameter only when you
+ are creating a replication group in an Amazon Virtual Private
+ Cloud
+ items:
+ type: string
+ type: array
+ securityGroupNames:
+ description: List of cache security group names to associate with
+ this replication group.
+ items:
+ type: string
+ type: array
+ snapshotArns:
+ description: – List of ARNs that identify Redis RDB snapshot
+ files stored in Amazon S3. The names object names cannot contain
+ any commas.
+ items:
+ type: string
+ type: array
+ snapshotName:
+ description: Name of a snapshot from which to restore data into
+ the new node group. Changing the snapshot_name forces a new
+ resource.
+ type: string
+ snapshotRetentionLimit:
+ description: Number of days for which ElastiCache will retain
+ automatic cache cluster snapshots before deleting them. For
+ example, if you set SnapshotRetentionLimit to 5, then a snapshot
+ that was taken today will be retained for 5 days before being
+ deleted. If the value of snapshot_retention_limit is set to
+ zero (0), backups are turned off. Please note that setting a
+ snapshot_retention_limit is not supported on cache.t1.micro
+ cache nodes
+ type: number
+ snapshotWindow:
+ description: 'Daily time range (in UTC) during which ElastiCache
+ will begin taking a daily snapshot of your cache cluster. The
+ minimum snapshot window is a 60 minute period. Example: 05:00-09:00'
+ type: string
+ subnetGroupName:
+ description: Name of the cache subnet group to be used for the
+ replication group.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: Map of tags to assign to the resource. Adding tags
+ to this resource will add or overwrite any existing tags on
+ the clusters in the replication group and not to the group itself.
+ If configured with a provider default_tags configuration block
+ present, tags with matching keys will overwrite those defined
+ at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: Map of tags assigned to the resource, including those
+ inherited from the provider default_tags configuration block.
+ type: object
+ transitEncryptionEnabled:
+ description: Whether to enable encryption in transit.
+ type: boolean
+ userGroupIds:
+ description: 'User Group ID to associate with the replication
+ group. Only a maximum of one (1) user group ID is valid. NOTE:
+ This argument is a set because the AWS specification allows
+ for multiple IDs. However, in practice, AWS only allows a maximum
+ size of one.'
+ items:
+ type: string
+ type: array
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_subnetgroups.yaml b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_subnetgroups.yaml
new file mode 100644
index 000000000..4fa817cde
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_subnetgroups.yaml
@@ -0,0 +1,360 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: subnetgroups.elasticache.aws.kubedb.com
+spec:
+ group: elasticache.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: SubnetGroup
+ listKind: SubnetGroupList
+ plural: subnetgroups
+ singular: subnetgroup
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: SubnetGroup is the Schema for the SubnetGroups API. Provides
+ an ElastiCache Subnet Group resource.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SubnetGroupSpec defines the desired state of SubnetGroup
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ description:
+ description: – Description for the cache subnet group.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ subnetIds:
+ description: – List of VPC Subnet IDs for the cache subnet group
+ items:
+ type: string
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: Key-value map of resource tags. If configured with
+ a provider default_tags configuration block present, tags with
+ matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ - message: subnetIds is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.subnetIds)
+ status:
+ description: SubnetGroupStatus defines the observed state of SubnetGroup.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ type: string
+ description:
+ description: – Description for the cache subnet group.
+ type: string
+ id:
+ type: string
+ subnetIds:
+ description: – List of VPC Subnet IDs for the cache subnet group
+ items:
+ type: string
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: Key-value map of resource tags. If configured with
+ a provider default_tags configuration block present, tags with
+ matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_usergroups.yaml b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_usergroups.yaml
new file mode 100644
index 000000000..83b20c79e
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_usergroups.yaml
@@ -0,0 +1,438 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: usergroups.elasticache.aws.kubedb.com
+spec:
+ group: elasticache.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: UserGroup
+ listKind: UserGroupList
+ plural: usergroups
+ singular: usergroup
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: UserGroup is the Schema for the UserGroups API. Provides an ElastiCache
+ user group.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: UserGroupSpec defines the desired state of UserGroup
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ engine:
+ description: The current supported value is REDIS.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: Key-value map of resource tags. If configured with
+ a provider default_tags configuration block present, tags with
+ matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ userIdRefs:
+ description: References to User to populate userIds.
+ items:
+ description: A Reference to a named object.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution
+ of this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which
+ will attempt to resolve the reference only when the
+ corresponding field is not present. Use 'Always' to
+ resolve the reference on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ userIdSelector:
+ description: Selector for a list of User to populate userIds.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ userIds:
+ description: The list of user IDs that belong to the user group.
+ items:
+ type: string
+ type: array
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: engine is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.engine)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: UserGroupStatus defines the observed state of UserGroup.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: The ARN that identifies the user group.
+ type: string
+ engine:
+ description: The current supported value is REDIS.
+ type: string
+ id:
+ description: The user group identifier.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: Key-value map of resource tags. If configured with
+ a provider default_tags configuration block present, tags with
+ matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ userIds:
+ description: The list of user IDs that belong to the user group.
+ items:
+ type: string
+ type: array
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_users.yaml b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_users.yaml
new file mode 100644
index 000000000..0c9657207
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_users.yaml
@@ -0,0 +1,437 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: users.elasticache.aws.kubedb.com
+spec:
+ group: elasticache.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: User
+ listKind: UserList
+ plural: users
+ singular: user
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: User is the Schema for the Users API. Provides an ElastiCache
+ user.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: UserSpec defines the desired state of User
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ accessString:
+ description: Access permissions string used for this user. See
+ Specifying Permissions Using an Access String for more details.
+ type: string
+ authenticationMode:
+ description: Denotes the user's authentication properties. Detailed
+ below.
+ items:
+ properties:
+ passwordsSecretRef:
+ description: Specifies the passwords to use for authentication
+ if type is set to password.
+ items:
+ description: A SecretKeySelector is a reference to a secret
+ key in an arbitrary namespace.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ type: array
+ type:
+ description: 'Specifies the authentication type. Possible
+ options are: password, no-password-required or iam.'
+ type: string
+ required:
+ - type
+ type: object
+ type: array
+ engine:
+ description: The current supported value is REDIS.
+ type: string
+ noPasswordRequired:
+ description: Indicates a password is not required for this user.
+ type: boolean
+ passwordsSecretRef:
+ description: Passwords used for this user. You can create up to
+ two passwords for each user.
+ items:
+ description: A SecretKeySelector is a reference to a secret
+ key in an arbitrary namespace.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ type: array
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A list of tags to be added to this resource. A tag
+ is a key-value pair.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ type: object
+ userName:
+ description: The username of the user.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: accessString is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.accessString)
+ - message: engine is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.engine)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ - message: userName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.userName)
+ status:
+ description: UserStatus defines the observed state of User.
+ properties:
+ atProvider:
+ properties:
+ accessString:
+ description: Access permissions string used for this user. See
+ Specifying Permissions Using an Access String for more details.
+ type: string
+ arn:
+ description: The ARN of the created ElastiCache User.
+ type: string
+ authenticationMode:
+ description: Denotes the user's authentication properties. Detailed
+ below.
+ items:
+ properties:
+ passwordCount:
+ type: number
+ type:
+ description: 'Specifies the authentication type. Possible
+ options are: password, no-password-required or iam.'
+ type: string
+ type: object
+ type: array
+ engine:
+ description: The current supported value is REDIS.
+ type: string
+ id:
+ type: string
+ noPasswordRequired:
+ description: Indicates a password is not required for this user.
+ type: boolean
+ tags:
+ additionalProperties:
+ type: string
+ description: A list of tags to be added to this resource. A tag
+ is a key-value pair.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ type: object
+ userName:
+ description: The username of the user.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domainpolicies.yaml b/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domainpolicies.yaml
new file mode 100644
index 000000000..c66f235d0
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domainpolicies.yaml
@@ -0,0 +1,330 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: domainpolicies.elasticsearch.aws.kubedb.com
+spec:
+ group: elasticsearch.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: DomainPolicy
+ listKind: DomainPolicyList
+ plural: domainpolicies
+ singular: domainpolicy
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: DomainPolicy is the Schema for the DomainPolicys API. Provides
+ an Elasticsearch Domain Policy.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: DomainPolicySpec defines the desired state of DomainPolicy
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ accessPolicies:
+ description: IAM policy document specifying the access policies
+ for the domain
+ type: string
+ domainName:
+ description: Name of the domain.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: accessPolicies is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.accessPolicies)
+ - message: domainName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.domainName)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: DomainPolicyStatus defines the observed state of DomainPolicy.
+ properties:
+ atProvider:
+ properties:
+ accessPolicies:
+ description: IAM policy document specifying the access policies
+ for the domain
+ type: string
+ domainName:
+ description: Name of the domain.
+ type: string
+ id:
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domains.yaml b/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domains.yaml
new file mode 100644
index 000000000..1546999b5
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domains.yaml
@@ -0,0 +1,1062 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: domains.elasticsearch.aws.kubedb.com
+spec:
+ group: elasticsearch.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: Domain
+ listKind: DomainList
+ plural: domains
+ singular: domain
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Domain is the Schema for the Domains 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: DomainSpec defines the desired state of Domain
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ accessPolicies:
+ description: IAM policy document specifying the access policies
+ for the domain.
+ type: string
+ advancedOptions:
+ additionalProperties:
+ type: string
+ description: Key-value string pairs to specify advanced configuration
+ options.
+ type: object
+ advancedSecurityOptions:
+ description: Configuration block for fine-grained access control.
+ Detailed below.
+ items:
+ properties:
+ enabled:
+ description: Whether advanced security is enabled.
+ type: boolean
+ internalUserDatabaseEnabled:
+ description: Whether the internal user database is enabled.
+ If not set, defaults to false by the AWS API.
+ type: boolean
+ masterUserOptions:
+ description: Configuration block for the main user. Detailed
+ below.
+ items:
+ properties:
+ masterUserArn:
+ description: ARN for the main user. Only specify if
+ internal_user_database_enabled is not set or set
+ to false.
+ type: string
+ masterUserName:
+ description: Main user's username, which is stored
+ in the Amazon Elasticsearch Service domain's internal
+ database. Only specify if internal_user_database_enabled
+ is set to true.
+ type: string
+ masterUserPasswordSecretRef:
+ description: Main user's password, which is stored
+ in the Amazon Elasticsearch Service domain's internal
+ database. Only specify if internal_user_database_enabled
+ is set to true.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ type: object
+ type: array
+ required:
+ - enabled
+ type: object
+ type: array
+ autoTuneOptions:
+ description: Configuration block for the Auto-Tune options of
+ the domain. Detailed below.
+ items:
+ properties:
+ desiredState:
+ description: 'The Auto-Tune desired state for the domain.
+ Valid values: ENABLED or DISABLED.'
+ type: string
+ maintenanceSchedule:
+ description: Configuration block for Auto-Tune maintenance
+ windows. Can be specified multiple times for each maintenance
+ window. Detailed below.
+ items:
+ properties:
+ cronExpressionForRecurrence:
+ description: A cron expression specifying the recurrence
+ pattern for an Auto-Tune maintenance schedule.
+ type: string
+ duration:
+ description: Configuration block for the duration
+ of the Auto-Tune maintenance window. Detailed below.
+ items:
+ properties:
+ unit:
+ description: 'The unit of time specifying the
+ duration of an Auto-Tune maintenance window.
+ Valid values: HOURS.'
+ type: string
+ value:
+ description: An integer specifying the value
+ of the duration of an Auto-Tune maintenance
+ window.
+ type: number
+ required:
+ - unit
+ - value
+ type: object
+ type: array
+ startAt:
+ description: Date and time at which to start the Auto-Tune
+ maintenance schedule in RFC3339 format.
+ type: string
+ required:
+ - cronExpressionForRecurrence
+ - duration
+ - startAt
+ type: object
+ type: array
+ rollbackOnDisable:
+ description: 'Whether to roll back to default Auto-Tune
+ settings when disabling Auto-Tune. Valid values: DEFAULT_ROLLBACK
+ or NO_ROLLBACK.'
+ type: string
+ required:
+ - desiredState
+ type: object
+ type: array
+ clusterConfig:
+ description: Configuration block for the cluster of the domain.
+ Detailed below.
+ items:
+ properties:
+ coldStorageOptions:
+ description: Configuration block containing cold storage
+ configuration. Detailed below.
+ items:
+ properties:
+ enabled:
+ description: Boolean to enable cold storage for an
+ Elasticsearch domain. Defaults to false. Master
+ and ultrawarm nodes must be enabled for cold storage.
+ type: boolean
+ type: object
+ type: array
+ dedicatedMasterCount:
+ description: Number of dedicated main nodes in the cluster.
+ type: number
+ dedicatedMasterEnabled:
+ description: Whether dedicated main nodes are enabled for
+ the cluster.
+ type: boolean
+ dedicatedMasterType:
+ description: Instance type of the dedicated main nodes in
+ the cluster.
+ type: string
+ instanceCount:
+ description: Number of instances in the cluster.
+ type: number
+ instanceType:
+ description: Instance type of data nodes in the cluster.
+ type: string
+ warmCount:
+ description: Number of warm nodes in the cluster. Valid
+ values are between 2 and 150. warm_count can be only and
+ must be set when warm_enabled is set to true.
+ type: number
+ warmEnabled:
+ description: Whether to enable warm storage.
+ type: boolean
+ warmType:
+ description: Instance type for the Elasticsearch cluster's
+ warm nodes. Valid values are ultrawarm1.medium.elasticsearch,
+ ultrawarm1.large.elasticsearch and ultrawarm1.xlarge.elasticsearch.
+ warm_type can be only and must be set when warm_enabled
+ is set to true.
+ type: string
+ zoneAwarenessConfig:
+ description: Configuration block containing zone awareness
+ settings. Detailed below.
+ items:
+ properties:
+ availabilityZoneCount:
+ description: 'Number of Availability Zones for the
+ domain to use with zone_awareness_enabled. Defaults
+ to 2. Valid values: 2 or 3.'
+ type: number
+ type: object
+ type: array
+ zoneAwarenessEnabled:
+ description: Whether zone awareness is enabled, set to true
+ for multi-az deployment. To enable awareness with three
+ Availability Zones, the availability_zone_count within
+ the zone_awareness_config must be set to 3.
+ type: boolean
+ type: object
+ type: array
+ cognitoOptions:
+ description: Configuration block for authenticating Kibana with
+ Cognito. Detailed below.
+ items:
+ properties:
+ enabled:
+ description: Whether Amazon Cognito authentication with
+ Kibana is enabled or not.
+ type: boolean
+ identityPoolId:
+ description: ID of the Cognito Identity Pool to use.
+ type: string
+ roleArn:
+ description: ARN of the IAM role that has the AmazonESCognitoAccess
+ policy attached.
+ type: string
+ userPoolId:
+ description: ID of the Cognito User Pool to use.
+ type: string
+ required:
+ - identityPoolId
+ - roleArn
+ - userPoolId
+ type: object
+ type: array
+ domainEndpointOptions:
+ description: Configuration block for domain endpoint HTTP(S) related
+ options. Detailed below.
+ items:
+ properties:
+ customEndpoint:
+ description: Fully qualified domain for your custom endpoint.
+ type: string
+ customEndpointCertificateArn:
+ description: ACM certificate ARN for your custom endpoint.
+ type: string
+ customEndpointEnabled:
+ description: Whether to enable custom endpoint for the Elasticsearch
+ domain.
+ type: boolean
+ enforceHttps:
+ description: Whether or not to require HTTPS. Defaults to
+ true.
+ type: boolean
+ tlsSecurityPolicy:
+ description: 'Name of the TLS security policy that needs
+ to be applied to the HTTPS endpoint. Valid values: Policy-Min-TLS-1-0-2019-07
+ and Policy-Min-TLS-1-2-2019-07.'
+ type: string
+ type: object
+ type: array
+ ebsOptions:
+ description: Configuration block for EBS related options, may
+ be required based on chosen instance size. Detailed below.
+ items:
+ properties:
+ ebsEnabled:
+ description: Whether EBS volumes are attached to data nodes
+ in the domain.
+ type: boolean
+ iops:
+ description: Baseline input/output (I/O) performance of
+ EBS volumes attached to data nodes. Applicable only for
+ the GP3 and Provisioned IOPS EBS volume types.
+ type: number
+ throughput:
+ description: Specifies the throughput (in MiB/s) of the
+ EBS volumes attached to data nodes. Applicable only for
+ the gp3 volume type.
+ type: number
+ volumeSize:
+ description: Size of EBS volumes attached to data nodes
+ (in GiB).
+ type: number
+ volumeType:
+ description: Type of EBS volumes attached to data nodes.
+ type: string
+ required:
+ - ebsEnabled
+ type: object
+ type: array
+ elasticsearchVersion:
+ description: Version of Elasticsearch to deploy. Defaults to 1.5.
+ type: string
+ encryptAtRest:
+ description: Configuration block for encrypt at rest options.
+ Only available for certain instance types. Detailed below.
+ items:
+ properties:
+ enabled:
+ description: Whether to enable encryption at rest. If the
+ encrypt_at_rest block is not provided then this defaults
+ to false. Enabling encryption on new domains requires
+ elasticsearch_version 5.1 or greater.
+ type: boolean
+ kmsKeyId:
+ description: KMS key ARN to encrypt the Elasticsearch domain
+ with. If not specified then it defaults to using the aws/es
+ service KMS key. Note that KMS will accept a KMS key ID
+ but will return the key ARN.
+ type: string
+ required:
+ - enabled
+ type: object
+ type: array
+ logPublishingOptions:
+ description: Configuration block for publishing slow and application
+ logs to CloudWatch Logs. This block can be declared multiple
+ times, for each log_type, within the same resource. Detailed
+ below.
+ items:
+ properties:
+ cloudwatchLogGroupArn:
+ description: ARN of the Cloudwatch log group to which log
+ needs to be published.
+ type: string
+ enabled:
+ description: Whether given log publishing option is enabled
+ or not.
+ type: boolean
+ logType:
+ description: 'Type of Elasticsearch log. Valid values: INDEX_SLOW_LOGS,
+ SEARCH_SLOW_LOGS, ES_APPLICATION_LOGS, AUDIT_LOGS.'
+ type: string
+ required:
+ - cloudwatchLogGroupArn
+ - logType
+ type: object
+ type: array
+ nodeToNodeEncryption:
+ description: Configuration block for node-to-node encryption options.
+ Detailed below.
+ items:
+ properties:
+ enabled:
+ description: Whether to enable node-to-node encryption.
+ If the node_to_node_encryption block is not provided then
+ this defaults to false. Enabling node-to-node encryption
+ of a new domain requires an elasticsearch_version of 6.0
+ or greater.
+ type: boolean
+ required:
+ - enabled
+ type: object
+ type: array
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ snapshotOptions:
+ description: Configuration block for snapshot related options.
+ Detailed below. DEPRECATED. For domains running Elasticsearch
+ 5.3 and later, Amazon ES takes hourly automated snapshots, making
+ this setting irrelevant. For domains running earlier versions
+ of Elasticsearch, Amazon ES takes daily automated snapshots.
+ items:
+ properties:
+ automatedSnapshotStartHour:
+ description: Hour during which the service takes an automated
+ daily snapshot of the indices in the domain.
+ type: number
+ required:
+ - automatedSnapshotStartHour
+ type: object
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: Map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: Map of tags assigned to the resource, including those
+ inherited from the provider default_tags configuration block.
+ type: object
+ vpcOptions:
+ description: Configuration block for VPC related options. Adding
+ or removing this configuration forces a new resource (documentation).
+ Detailed below.
+ items:
+ properties:
+ securityGroupIds:
+ description: List of VPC Security Group IDs to be applied
+ to the Elasticsearch domain endpoints. If omitted, the
+ default Security Group for the VPC will be used.
+ items:
+ type: string
+ type: array
+ subnetIds:
+ description: List of VPC Subnet IDs for the Elasticsearch
+ domain endpoints to be created in.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: DomainStatus defines the observed state of Domain.
+ properties:
+ atProvider:
+ properties:
+ accessPolicies:
+ description: IAM policy document specifying the access policies
+ for the domain.
+ type: string
+ advancedOptions:
+ additionalProperties:
+ type: string
+ description: Key-value string pairs to specify advanced configuration
+ options.
+ type: object
+ advancedSecurityOptions:
+ description: Configuration block for fine-grained access control.
+ Detailed below.
+ items:
+ properties:
+ enabled:
+ description: Whether advanced security is enabled.
+ type: boolean
+ internalUserDatabaseEnabled:
+ description: Whether the internal user database is enabled.
+ If not set, defaults to false by the AWS API.
+ type: boolean
+ masterUserOptions:
+ description: Configuration block for the main user. Detailed
+ below.
+ items:
+ properties:
+ masterUserArn:
+ description: ARN for the main user. Only specify if
+ internal_user_database_enabled is not set or set
+ to false.
+ type: string
+ masterUserName:
+ description: Main user's username, which is stored
+ in the Amazon Elasticsearch Service domain's internal
+ database. Only specify if internal_user_database_enabled
+ is set to true.
+ type: string
+ type: object
+ type: array
+ type: object
+ type: array
+ arn:
+ description: ARN of the domain.
+ type: string
+ autoTuneOptions:
+ description: Configuration block for the Auto-Tune options of
+ the domain. Detailed below.
+ items:
+ properties:
+ desiredState:
+ description: 'The Auto-Tune desired state for the domain.
+ Valid values: ENABLED or DISABLED.'
+ type: string
+ maintenanceSchedule:
+ description: Configuration block for Auto-Tune maintenance
+ windows. Can be specified multiple times for each maintenance
+ window. Detailed below.
+ items:
+ properties:
+ cronExpressionForRecurrence:
+ description: A cron expression specifying the recurrence
+ pattern for an Auto-Tune maintenance schedule.
+ type: string
+ duration:
+ description: Configuration block for the duration
+ of the Auto-Tune maintenance window. Detailed below.
+ items:
+ properties:
+ unit:
+ description: 'The unit of time specifying the
+ duration of an Auto-Tune maintenance window.
+ Valid values: HOURS.'
+ type: string
+ value:
+ description: An integer specifying the value
+ of the duration of an Auto-Tune maintenance
+ window.
+ type: number
+ type: object
+ type: array
+ startAt:
+ description: Date and time at which to start the Auto-Tune
+ maintenance schedule in RFC3339 format.
+ type: string
+ type: object
+ type: array
+ rollbackOnDisable:
+ description: 'Whether to roll back to default Auto-Tune
+ settings when disabling Auto-Tune. Valid values: DEFAULT_ROLLBACK
+ or NO_ROLLBACK.'
+ type: string
+ type: object
+ type: array
+ clusterConfig:
+ description: Configuration block for the cluster of the domain.
+ Detailed below.
+ items:
+ properties:
+ coldStorageOptions:
+ description: Configuration block containing cold storage
+ configuration. Detailed below.
+ items:
+ properties:
+ enabled:
+ description: Boolean to enable cold storage for an
+ Elasticsearch domain. Defaults to false. Master
+ and ultrawarm nodes must be enabled for cold storage.
+ type: boolean
+ type: object
+ type: array
+ dedicatedMasterCount:
+ description: Number of dedicated main nodes in the cluster.
+ type: number
+ dedicatedMasterEnabled:
+ description: Whether dedicated main nodes are enabled for
+ the cluster.
+ type: boolean
+ dedicatedMasterType:
+ description: Instance type of the dedicated main nodes in
+ the cluster.
+ type: string
+ instanceCount:
+ description: Number of instances in the cluster.
+ type: number
+ instanceType:
+ description: Instance type of data nodes in the cluster.
+ type: string
+ warmCount:
+ description: Number of warm nodes in the cluster. Valid
+ values are between 2 and 150. warm_count can be only and
+ must be set when warm_enabled is set to true.
+ type: number
+ warmEnabled:
+ description: Whether to enable warm storage.
+ type: boolean
+ warmType:
+ description: Instance type for the Elasticsearch cluster's
+ warm nodes. Valid values are ultrawarm1.medium.elasticsearch,
+ ultrawarm1.large.elasticsearch and ultrawarm1.xlarge.elasticsearch.
+ warm_type can be only and must be set when warm_enabled
+ is set to true.
+ type: string
+ zoneAwarenessConfig:
+ description: Configuration block containing zone awareness
+ settings. Detailed below.
+ items:
+ properties:
+ availabilityZoneCount:
+ description: 'Number of Availability Zones for the
+ domain to use with zone_awareness_enabled. Defaults
+ to 2. Valid values: 2 or 3.'
+ type: number
+ type: object
+ type: array
+ zoneAwarenessEnabled:
+ description: Whether zone awareness is enabled, set to true
+ for multi-az deployment. To enable awareness with three
+ Availability Zones, the availability_zone_count within
+ the zone_awareness_config must be set to 3.
+ type: boolean
+ type: object
+ type: array
+ cognitoOptions:
+ description: Configuration block for authenticating Kibana with
+ Cognito. Detailed below.
+ items:
+ properties:
+ enabled:
+ description: Whether Amazon Cognito authentication with
+ Kibana is enabled or not.
+ type: boolean
+ identityPoolId:
+ description: ID of the Cognito Identity Pool to use.
+ type: string
+ roleArn:
+ description: ARN of the IAM role that has the AmazonESCognitoAccess
+ policy attached.
+ type: string
+ userPoolId:
+ description: ID of the Cognito User Pool to use.
+ type: string
+ type: object
+ type: array
+ domainEndpointOptions:
+ description: Configuration block for domain endpoint HTTP(S) related
+ options. Detailed below.
+ items:
+ properties:
+ customEndpoint:
+ description: Fully qualified domain for your custom endpoint.
+ type: string
+ customEndpointCertificateArn:
+ description: ACM certificate ARN for your custom endpoint.
+ type: string
+ customEndpointEnabled:
+ description: Whether to enable custom endpoint for the Elasticsearch
+ domain.
+ type: boolean
+ enforceHttps:
+ description: Whether or not to require HTTPS. Defaults to
+ true.
+ type: boolean
+ tlsSecurityPolicy:
+ description: 'Name of the TLS security policy that needs
+ to be applied to the HTTPS endpoint. Valid values: Policy-Min-TLS-1-0-2019-07
+ and Policy-Min-TLS-1-2-2019-07.'
+ type: string
+ type: object
+ type: array
+ domainId:
+ description: Unique identifier for the domain.
+ type: string
+ ebsOptions:
+ description: Configuration block for EBS related options, may
+ be required based on chosen instance size. Detailed below.
+ items:
+ properties:
+ ebsEnabled:
+ description: Whether EBS volumes are attached to data nodes
+ in the domain.
+ type: boolean
+ iops:
+ description: Baseline input/output (I/O) performance of
+ EBS volumes attached to data nodes. Applicable only for
+ the GP3 and Provisioned IOPS EBS volume types.
+ type: number
+ throughput:
+ description: Specifies the throughput (in MiB/s) of the
+ EBS volumes attached to data nodes. Applicable only for
+ the gp3 volume type.
+ type: number
+ volumeSize:
+ description: Size of EBS volumes attached to data nodes
+ (in GiB).
+ type: number
+ volumeType:
+ description: Type of EBS volumes attached to data nodes.
+ type: string
+ type: object
+ type: array
+ elasticsearchVersion:
+ description: Version of Elasticsearch to deploy. Defaults to 1.5.
+ type: string
+ encryptAtRest:
+ description: Configuration block for encrypt at rest options.
+ Only available for certain instance types. Detailed below.
+ items:
+ properties:
+ enabled:
+ description: Whether to enable encryption at rest. If the
+ encrypt_at_rest block is not provided then this defaults
+ to false. Enabling encryption on new domains requires
+ elasticsearch_version 5.1 or greater.
+ type: boolean
+ kmsKeyId:
+ description: KMS key ARN to encrypt the Elasticsearch domain
+ with. If not specified then it defaults to using the aws/es
+ service KMS key. Note that KMS will accept a KMS key ID
+ but will return the key ARN.
+ type: string
+ type: object
+ type: array
+ endpoint:
+ description: Domain-specific endpoint used to submit index, search,
+ and data upload requests.
+ type: string
+ id:
+ type: string
+ kibanaEndpoint:
+ description: Domain-specific endpoint for kibana without https
+ scheme.
+ type: string
+ logPublishingOptions:
+ description: Configuration block for publishing slow and application
+ logs to CloudWatch Logs. This block can be declared multiple
+ times, for each log_type, within the same resource. Detailed
+ below.
+ items:
+ properties:
+ cloudwatchLogGroupArn:
+ description: ARN of the Cloudwatch log group to which log
+ needs to be published.
+ type: string
+ enabled:
+ description: Whether given log publishing option is enabled
+ or not.
+ type: boolean
+ logType:
+ description: 'Type of Elasticsearch log. Valid values: INDEX_SLOW_LOGS,
+ SEARCH_SLOW_LOGS, ES_APPLICATION_LOGS, AUDIT_LOGS.'
+ type: string
+ type: object
+ type: array
+ nodeToNodeEncryption:
+ description: Configuration block for node-to-node encryption options.
+ Detailed below.
+ items:
+ properties:
+ enabled:
+ description: Whether to enable node-to-node encryption.
+ If the node_to_node_encryption block is not provided then
+ this defaults to false. Enabling node-to-node encryption
+ of a new domain requires an elasticsearch_version of 6.0
+ or greater.
+ type: boolean
+ type: object
+ type: array
+ snapshotOptions:
+ description: Configuration block for snapshot related options.
+ Detailed below. DEPRECATED. For domains running Elasticsearch
+ 5.3 and later, Amazon ES takes hourly automated snapshots, making
+ this setting irrelevant. For domains running earlier versions
+ of Elasticsearch, Amazon ES takes daily automated snapshots.
+ items:
+ properties:
+ automatedSnapshotStartHour:
+ description: Hour during which the service takes an automated
+ daily snapshot of the indices in the domain.
+ type: number
+ type: object
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: Map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: Map of tags assigned to the resource, including those
+ inherited from the provider default_tags configuration block.
+ type: object
+ vpcOptions:
+ description: Configuration block for VPC related options. Adding
+ or removing this configuration forces a new resource (documentation).
+ Detailed below.
+ items:
+ properties:
+ availabilityZones:
+ description: If the domain was created inside a VPC, the
+ names of the availability zones the configured subnet_ids
+ were created inside.
+ items:
+ type: string
+ type: array
+ securityGroupIds:
+ description: List of VPC Security Group IDs to be applied
+ to the Elasticsearch domain endpoints. If omitted, the
+ default Security Group for the VPC will be used.
+ items:
+ type: string
+ type: array
+ subnetIds:
+ description: List of VPC Subnet IDs for the Elasticsearch
+ domain endpoints to be created in.
+ items:
+ type: string
+ type: array
+ vpcId:
+ description: If the domain was created inside a VPC, the
+ ID of the VPC.
+ type: string
+ type: object
+ type: array
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domainsamloptions.yaml b/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domainsamloptions.yaml
new file mode 100644
index 000000000..979292e61
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domainsamloptions.yaml
@@ -0,0 +1,421 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: domainsamloptions.elasticsearch.aws.kubedb.com
+spec:
+ group: elasticsearch.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: DomainSAMLOptions
+ listKind: DomainSAMLOptionsList
+ plural: domainsamloptions
+ singular: domainsamloptions
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: DomainSAMLOptions is the Schema for the DomainSAMLOptionss 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: DomainSAMLOptionsSpec defines the desired state of DomainSAMLOptions
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ samlOptions:
+ description: The SAML authentication options for an AWS Elasticsearch
+ Domain.
+ items:
+ properties:
+ enabled:
+ description: Whether SAML authentication is enabled.
+ type: boolean
+ idp:
+ description: Information from your identity provider.
+ items:
+ properties:
+ entityId:
+ description: The unique Entity ID of the application
+ in SAML Identity Provider.
+ type: string
+ metadataContent:
+ description: The Metadata of the SAML application
+ in xml format.
+ type: string
+ required:
+ - entityId
+ - metadataContent
+ type: object
+ type: array
+ masterBackendRole:
+ description: This backend role from the SAML IdP receives
+ full permissions to the cluster, equivalent to a new master
+ user.
+ type: string
+ masterUserNameSecretRef:
+ description: This username from the SAML IdP receives full
+ permissions to the cluster, equivalent to a new master
+ user.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ rolesKey:
+ description: Element of the SAML assertion to use for backend
+ roles. Default is roles.
+ type: string
+ sessionTimeoutMinutes:
+ description: Duration of a session in minutes after a user
+ logs in. Default is 60. Maximum value is 1,440.
+ type: number
+ subjectKey:
+ description: Custom SAML attribute to use for user names.
+ Default is an empty string - "". This will cause Elasticsearch
+ to use the NameID element of the Subject, which is the
+ default location for name identifiers in the SAML specification.
+ type: string
+ type: object
+ type: array
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: DomainSAMLOptionsStatus defines the observed state of DomainSAMLOptions.
+ properties:
+ atProvider:
+ properties:
+ id:
+ description: The name of the domain the SAML options are associated
+ with.
+ type: string
+ samlOptions:
+ description: The SAML authentication options for an AWS Elasticsearch
+ Domain.
+ items:
+ properties:
+ enabled:
+ description: Whether SAML authentication is enabled.
+ type: boolean
+ idp:
+ description: Information from your identity provider.
+ items:
+ properties:
+ entityId:
+ description: The unique Entity ID of the application
+ in SAML Identity Provider.
+ type: string
+ metadataContent:
+ description: The Metadata of the SAML application
+ in xml format.
+ type: string
+ type: object
+ type: array
+ masterBackendRole:
+ description: This backend role from the SAML IdP receives
+ full permissions to the cluster, equivalent to a new master
+ user.
+ type: string
+ rolesKey:
+ description: Element of the SAML assertion to use for backend
+ roles. Default is roles.
+ type: string
+ sessionTimeoutMinutes:
+ description: Duration of a session in minutes after a user
+ logs in. Default is 60. Maximum value is 1,440.
+ type: number
+ subjectKey:
+ description: Custom SAML attribute to use for user names.
+ Default is an empty string - "". This will cause Elasticsearch
+ to use the NameID element of the Subject, which is the
+ default location for name identifiers in the SAML specification.
+ type: string
+ type: object
+ type: array
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/kafka.aws.kubedb.com_clusters.yaml b/charts/kubedb-provider-aws/crds/kafka.aws.kubedb.com_clusters.yaml
new file mode 100644
index 000000000..4d7249401
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/kafka.aws.kubedb.com_clusters.yaml
@@ -0,0 +1,1433 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: clusters.kafka.aws.kubedb.com
+spec:
+ group: kafka.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: Cluster
+ listKind: ClusterList
+ plural: clusters
+ singular: cluster
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Cluster is the Schema for the Clusters 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ClusterSpec defines the desired state of Cluster
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ brokerNodeGroupInfo:
+ description: Configuration block for the broker nodes of the Kafka
+ cluster.
+ items:
+ properties:
+ azDistribution:
+ description: The distribution of broker nodes across availability
+ zones (documentation). Currently the only valid value
+ is DEFAULT.
+ type: string
+ clientSubnets:
+ description: A list of subnets to connect to in client VPC
+ (documentation).
+ items:
+ type: string
+ type: array
+ clientSubnetsRefs:
+ description: References to Subnet in ec2 to populate clientSubnets.
+ items:
+ description: A Reference to a named object.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution
+ of this reference is required. The default is
+ 'Required', which means the reconcile will fail
+ if the reference cannot be resolved. 'Optional'
+ means this reference will be a no-op if it cannot
+ be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference
+ should be resolved. The default is 'IfNotPresent',
+ which will attempt to resolve the reference
+ only when the corresponding field is not present.
+ Use 'Always' to resolve the reference on every
+ reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ clientSubnetsSelector:
+ description: Selector for a list of Subnet in ec2 to populate
+ clientSubnets.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with
+ the same controller reference as the selecting object
+ is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching
+ labels is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution
+ of this reference is required. The default is
+ 'Required', which means the reconcile will fail
+ if the reference cannot be resolved. 'Optional'
+ means this reference will be a no-op if it cannot
+ be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference
+ should be resolved. The default is 'IfNotPresent',
+ which will attempt to resolve the reference only
+ when the corresponding field is not present. Use
+ 'Always' to resolve the reference on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ connectivityInfo:
+ description: Information about the cluster access configuration.
+ See below. For security reasons, you can't turn on public
+ access while creating an MSK cluster. However, you can
+ update an existing cluster to make it publicly accessible.
+ You can also create a new cluster and then update it to
+ make it publicly accessible (documentation).
+ items:
+ properties:
+ publicAccess:
+ description: Access control settings for brokers.
+ See below.
+ items:
+ properties:
+ type:
+ description: 'Public access type. Valida values:
+ DISABLED, SERVICE_PROVIDED_EIPS.'
+ type: string
+ type: object
+ type: array
+ type: object
+ type: array
+ instanceType:
+ description: Specify the instance type to use for the kafka
+ brokersE.g., kafka.m5.large. (Pricing info)
+ type: string
+ securityGroups:
+ description: A list of the security groups to associate
+ with the elastic network interfaces to control who can
+ communicate with the cluster.
+ items:
+ type: string
+ type: array
+ securityGroupsRefs:
+ description: References to SecurityGroup in ec2 to populate
+ securityGroups.
+ items:
+ description: A Reference to a named object.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution
+ of this reference is required. The default is
+ 'Required', which means the reconcile will fail
+ if the reference cannot be resolved. 'Optional'
+ means this reference will be a no-op if it cannot
+ be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference
+ should be resolved. The default is 'IfNotPresent',
+ which will attempt to resolve the reference
+ only when the corresponding field is not present.
+ Use 'Always' to resolve the reference on every
+ reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ securityGroupsSelector:
+ description: Selector for a list of SecurityGroup in ec2
+ to populate securityGroups.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with
+ the same controller reference as the selecting object
+ is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching
+ labels is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution
+ of this reference is required. The default is
+ 'Required', which means the reconcile will fail
+ if the reference cannot be resolved. 'Optional'
+ means this reference will be a no-op if it cannot
+ be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference
+ should be resolved. The default is 'IfNotPresent',
+ which will attempt to resolve the reference only
+ when the corresponding field is not present. Use
+ 'Always' to resolve the reference on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ storageInfo:
+ description: A block that contains information about storage
+ volumes attached to MSK broker nodes. See below.
+ items:
+ properties:
+ ebsStorageInfo:
+ description: A block that contains EBS volume information.
+ See below.
+ items:
+ properties:
+ provisionedThroughput:
+ description: A block that contains EBS volume
+ provisioned throughput information. To provision
+ storage throughput, you must choose broker
+ type kafka.m5.4xlarge or larger. See below.
+ items:
+ properties:
+ enabled:
+ description: 'Controls whether provisioned
+ throughput is enabled or not. Default
+ value: false.'
+ type: boolean
+ volumeThroughput:
+ description: Throughput value of the EBS
+ volumes for the data drive on each kafka
+ broker node in MiB per second. The minimum
+ value is 250. The maximum value varies
+ between broker type. You can refer to
+ the valid values for the maximum volume
+ throughput at the following documentation
+ on throughput bottlenecks
+ type: number
+ type: object
+ type: array
+ volumeSize:
+ description: The size in GiB of the EBS volume
+ for the data drive on each broker node. Minimum
+ value of 1 and maximum value of 16384.
+ type: number
+ type: object
+ type: array
+ type: object
+ type: array
+ required:
+ - instanceType
+ type: object
+ type: array
+ clientAuthentication:
+ description: Configuration block for specifying a client authentication.
+ See below.
+ items:
+ properties:
+ sasl:
+ description: Configuration block for specifying SASL client
+ authentication. See below.
+ items:
+ properties:
+ iam:
+ description: Enables IAM client authentication. Defaults
+ to false.
+ type: boolean
+ scram:
+ description: Enables SCRAM client authentication via
+ AWS Secrets Manager. Defaults to false.
+ type: boolean
+ type: object
+ type: array
+ tls:
+ description: Configuration block for specifying TLS client
+ authentication. See below.
+ items:
+ properties:
+ certificateAuthorityArns:
+ description: List of ACM Certificate Authority Amazon
+ Resource Names (ARNs).
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ unauthenticated:
+ description: Enables unauthenticated access.
+ type: boolean
+ type: object
+ type: array
+ clusterName:
+ description: Name of the MSK cluster.
+ type: string
+ configurationInfo:
+ description: Configuration block for specifying a MSK Configuration
+ to attach to Kafka brokers. See below.
+ items:
+ properties:
+ arn:
+ description: Amazon Resource Name (ARN) of the MSK Configuration
+ to use in the cluster.
+ type: string
+ revision:
+ description: Revision of the MSK Configuration to use in
+ the cluster.
+ type: number
+ required:
+ - arn
+ - revision
+ type: object
+ type: array
+ encryptionInfo:
+ description: Configuration block for specifying encryption. See
+ below.
+ items:
+ properties:
+ encryptionAtRestKmsKeyArn:
+ description: The ARN of the KMS key used for encryption
+ at rest of the broker data volumes.
+ type: string
+ encryptionAtRestKmsKeyArnRef:
+ description: Reference to a Key in kms to populate encryptionAtRestKmsKeyArn.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution
+ of this reference is required. The default is
+ 'Required', which means the reconcile will fail
+ if the reference cannot be resolved. 'Optional'
+ means this reference will be a no-op if it cannot
+ be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference
+ should be resolved. The default is 'IfNotPresent',
+ which will attempt to resolve the reference only
+ when the corresponding field is not present. Use
+ 'Always' to resolve the reference on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ encryptionAtRestKmsKeyArnSelector:
+ description: Selector for a Key in kms to populate encryptionAtRestKmsKeyArn.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with
+ the same controller reference as the selecting object
+ is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching
+ labels is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution
+ of this reference is required. The default is
+ 'Required', which means the reconcile will fail
+ if the reference cannot be resolved. 'Optional'
+ means this reference will be a no-op if it cannot
+ be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference
+ should be resolved. The default is 'IfNotPresent',
+ which will attempt to resolve the reference only
+ when the corresponding field is not present. Use
+ 'Always' to resolve the reference on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ encryptionInTransit:
+ description: Configuration block to specify encryption in
+ transit. See below.
+ items:
+ properties:
+ clientBroker:
+ description: 'Encryption setting for data in transit
+ between clients and brokers. Valid values: TLS,
+ TLS_PLAINTEXT, and PLAINTEXT. Default value is TLS.'
+ type: string
+ inCluster:
+ description: 'Whether data communication among broker
+ nodes is encrypted. Default value: true.'
+ type: boolean
+ type: object
+ type: array
+ type: object
+ type: array
+ enhancedMonitoring:
+ description: Specify the desired enhanced MSK CloudWatch monitoring
+ level. See Monitoring Amazon MSK with Amazon CloudWatch
+ type: string
+ kafkaVersion:
+ description: Specify the desired Kafka software version.
+ type: string
+ loggingInfo:
+ description: Configuration block for streaming broker logs to
+ Cloudwatch/S3/Kinesis Firehose. See below.
+ items:
+ properties:
+ brokerLogs:
+ description: Configuration block for Broker Logs settings
+ for logging info. See below.
+ items:
+ properties:
+ cloudwatchLogs:
+ items:
+ properties:
+ enabled:
+ description: 'Controls whether provisioned throughput
+ is enabled or not. Default value: false.'
+ type: boolean
+ logGroup:
+ description: Name of the Cloudwatch Log Group
+ to deliver logs to.
+ type: string
+ logGroupRef:
+ description: Reference to a Group in cloudwatchlogs
+ to populate logGroup.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether
+ resolution of this reference is required.
+ The default is 'Required', which means
+ the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means
+ this reference will be a no-op if
+ it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when
+ this reference should be resolved.
+ The default is 'IfNotPresent', which
+ will attempt to resolve the reference
+ only when the corresponding field
+ is not present. Use 'Always' to resolve
+ the reference on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ logGroupSelector:
+ description: Selector for a Group in cloudwatchlogs
+ to populate logGroup.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures
+ an object with the same controller reference
+ as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object
+ with matching labels is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether
+ resolution of this reference is required.
+ The default is 'Required', which means
+ the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means
+ this reference will be a no-op if
+ it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when
+ this reference should be resolved.
+ The default is 'IfNotPresent', which
+ will attempt to resolve the reference
+ only when the corresponding field
+ is not present. Use 'Always' to resolve
+ the reference on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ required:
+ - enabled
+ type: object
+ type: array
+ firehose:
+ items:
+ properties:
+ deliveryStream:
+ description: Name of the Kinesis Data Firehose
+ delivery stream to deliver logs to.
+ type: string
+ enabled:
+ description: 'Controls whether provisioned throughput
+ is enabled or not. Default value: false.'
+ type: boolean
+ required:
+ - enabled
+ type: object
+ type: array
+ s3:
+ items:
+ properties:
+ bucket:
+ description: Name of the S3 bucket to deliver
+ logs to.
+ type: string
+ bucketRef:
+ description: Reference to a Bucket in s3 to
+ populate bucket.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether
+ resolution of this reference is required.
+ The default is 'Required', which means
+ the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means
+ this reference will be a no-op if
+ it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when
+ this reference should be resolved.
+ The default is 'IfNotPresent', which
+ will attempt to resolve the reference
+ only when the corresponding field
+ is not present. Use 'Always' to resolve
+ the reference on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ bucketSelector:
+ description: Selector for a Bucket in s3 to
+ populate bucket.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures
+ an object with the same controller reference
+ as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object
+ with matching labels is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether
+ resolution of this reference is required.
+ The default is 'Required', which means
+ the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means
+ this reference will be a no-op if
+ it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when
+ this reference should be resolved.
+ The default is 'IfNotPresent', which
+ will attempt to resolve the reference
+ only when the corresponding field
+ is not present. Use 'Always' to resolve
+ the reference on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ enabled:
+ description: 'Controls whether provisioned throughput
+ is enabled or not. Default value: false.'
+ type: boolean
+ prefix:
+ description: Prefix to append to the folder
+ name.
+ type: string
+ required:
+ - enabled
+ type: object
+ type: array
+ type: object
+ type: array
+ required:
+ - brokerLogs
+ type: object
+ type: array
+ numberOfBrokerNodes:
+ description: The desired total number of broker nodes in the kafka
+ cluster. It must be a multiple of the number of specified client
+ subnets.
+ type: number
+ openMonitoring:
+ description: Configuration block for JMX and Node monitoring for
+ the MSK cluster. See below.
+ items:
+ properties:
+ prometheus:
+ description: Configuration block for Prometheus settings
+ for open monitoring. See below.
+ items:
+ properties:
+ jmxExporter:
+ description: Configuration block for JMX Exporter.
+ See below.
+ items:
+ properties:
+ enabledInBroker:
+ description: Indicates whether you want to enable
+ or disable the JMX Exporter.
+ type: boolean
+ required:
+ - enabledInBroker
+ type: object
+ type: array
+ nodeExporter:
+ description: Configuration block for Node Exporter.
+ See below.
+ items:
+ properties:
+ enabledInBroker:
+ description: Indicates whether you want to enable
+ or disable the JMX Exporter.
+ type: boolean
+ required:
+ - enabledInBroker
+ type: object
+ type: array
+ type: object
+ type: array
+ required:
+ - prometheus
+ type: object
+ type: array
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ storageMode:
+ description: 'Controls storage mode for supported storage tiers.
+ Valid values are: LOCAL or TIERED.'
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: brokerNodeGroupInfo is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.brokerNodeGroupInfo)
+ - message: clusterName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.clusterName)
+ - message: kafkaVersion is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.kafkaVersion)
+ - message: numberOfBrokerNodes is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.numberOfBrokerNodes)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: ClusterStatus defines the observed state of Cluster.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: Amazon Resource Name (ARN) of the MSK Configuration
+ to use in the cluster.
+ type: string
+ bootstrapBrokers:
+ description: Comma separated list of one or more hostname:port
+ pairs of kafka brokers suitable to bootstrap connectivity to
+ the kafka cluster. Contains a value if encryption_info.0.encryption_in_transit.0.client_broker
+ is set to PLAINTEXT or TLS_PLAINTEXT. The resource sorts values
+ alphabetically. AWS may not always return all endpoints so this
+ value is not guaranteed to be stable across applies.
+ type: string
+ bootstrapBrokersPublicSaslIam:
+ description: One or more DNS names (or IP addresses) and SASL
+ IAM port pairs. For example, b-1-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9198,b-2-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9198,b-3-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9198.
+ This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker
+ is set to TLS_PLAINTEXT or TLS and client_authentication.0.sasl.0.iam
+ is set to true and broker_node_group_info.0.connectivity_info.0.public_access.0.type
+ is set to SERVICE_PROVIDED_EIPS and the cluster fulfill all
+ other requirements for public access. The resource sorts the
+ list alphabetically. AWS may not always return all endpoints
+ so the values may not be stable across applies.
+ type: string
+ bootstrapBrokersPublicSaslScram:
+ description: One or more DNS names (or IP addresses) and SASL
+ SCRAM port pairs. For example, b-1-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9196,b-2-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9196,b-3-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9196.
+ This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker
+ is set to TLS_PLAINTEXT or TLS and client_authentication.0.sasl.0.scram
+ is set to true and broker_node_group_info.0.connectivity_info.0.public_access.0.type
+ is set to SERVICE_PROVIDED_EIPS and the cluster fulfill all
+ other requirements for public access. The resource sorts the
+ list alphabetically. AWS may not always return all endpoints
+ so the values may not be stable across applies.
+ type: string
+ bootstrapBrokersPublicTls:
+ description: One or more DNS names (or IP addresses) and TLS port
+ pairs. For example, b-1-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9194,b-2-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9194,b-3-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9194.
+ This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker
+ is set to TLS_PLAINTEXT or TLS and broker_node_group_info.0.connectivity_info.0.public_access.0.type
+ is set to SERVICE_PROVIDED_EIPS and the cluster fulfill all
+ other requirements for public access. The resource sorts the
+ list alphabetically. AWS may not always return all endpoints
+ so the values may not be stable across applies.
+ type: string
+ bootstrapBrokersSaslIam:
+ description: One or more DNS names (or IP addresses) and SASL
+ IAM port pairs. For example, b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9098,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9098,b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9098.
+ This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker
+ is set to TLS_PLAINTEXT or TLS and client_authentication.0.sasl.0.iam
+ is set to true. The resource sorts the list alphabetically.
+ AWS may not always return all endpoints so the values may not
+ be stable across applies.
+ type: string
+ bootstrapBrokersSaslScram:
+ description: One or more DNS names (or IP addresses) and SASL
+ SCRAM port pairs. For example, b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9096,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9096,b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9096.
+ This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker
+ is set to TLS_PLAINTEXT or TLS and client_authentication.0.sasl.0.scram
+ is set to true. The resource sorts the list alphabetically.
+ AWS may not always return all endpoints so the values may not
+ be stable across applies.
+ type: string
+ bootstrapBrokersTls:
+ description: One or more DNS names (or IP addresses) and TLS port
+ pairs. For example, b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094,b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094.
+ This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker
+ is set to TLS_PLAINTEXT or TLS. The resource sorts the list
+ alphabetically. AWS may not always return all endpoints so the
+ values may not be stable across applies.
+ type: string
+ brokerNodeGroupInfo:
+ description: Configuration block for the broker nodes of the Kafka
+ cluster.
+ items:
+ properties:
+ azDistribution:
+ description: The distribution of broker nodes across availability
+ zones (documentation). Currently the only valid value
+ is DEFAULT.
+ type: string
+ clientSubnets:
+ description: A list of subnets to connect to in client VPC
+ (documentation).
+ items:
+ type: string
+ type: array
+ connectivityInfo:
+ description: Information about the cluster access configuration.
+ See below. For security reasons, you can't turn on public
+ access while creating an MSK cluster. However, you can
+ update an existing cluster to make it publicly accessible.
+ You can also create a new cluster and then update it to
+ make it publicly accessible (documentation).
+ items:
+ properties:
+ publicAccess:
+ description: Access control settings for brokers.
+ See below.
+ items:
+ properties:
+ type:
+ description: 'Public access type. Valida values:
+ DISABLED, SERVICE_PROVIDED_EIPS.'
+ type: string
+ type: object
+ type: array
+ type: object
+ type: array
+ instanceType:
+ description: Specify the instance type to use for the kafka
+ brokersE.g., kafka.m5.large. (Pricing info)
+ type: string
+ securityGroups:
+ description: A list of the security groups to associate
+ with the elastic network interfaces to control who can
+ communicate with the cluster.
+ items:
+ type: string
+ type: array
+ storageInfo:
+ description: A block that contains information about storage
+ volumes attached to MSK broker nodes. See below.
+ items:
+ properties:
+ ebsStorageInfo:
+ description: A block that contains EBS volume information.
+ See below.
+ items:
+ properties:
+ provisionedThroughput:
+ description: A block that contains EBS volume
+ provisioned throughput information. To provision
+ storage throughput, you must choose broker
+ type kafka.m5.4xlarge or larger. See below.
+ items:
+ properties:
+ enabled:
+ description: 'Controls whether provisioned
+ throughput is enabled or not. Default
+ value: false.'
+ type: boolean
+ volumeThroughput:
+ description: Throughput value of the EBS
+ volumes for the data drive on each kafka
+ broker node in MiB per second. The minimum
+ value is 250. The maximum value varies
+ between broker type. You can refer to
+ the valid values for the maximum volume
+ throughput at the following documentation
+ on throughput bottlenecks
+ type: number
+ type: object
+ type: array
+ volumeSize:
+ description: The size in GiB of the EBS volume
+ for the data drive on each broker node. Minimum
+ value of 1 and maximum value of 16384.
+ type: number
+ type: object
+ type: array
+ type: object
+ type: array
+ type: object
+ type: array
+ clientAuthentication:
+ description: Configuration block for specifying a client authentication.
+ See below.
+ items:
+ properties:
+ sasl:
+ description: Configuration block for specifying SASL client
+ authentication. See below.
+ items:
+ properties:
+ iam:
+ description: Enables IAM client authentication. Defaults
+ to false.
+ type: boolean
+ scram:
+ description: Enables SCRAM client authentication via
+ AWS Secrets Manager. Defaults to false.
+ type: boolean
+ type: object
+ type: array
+ tls:
+ description: Configuration block for specifying TLS client
+ authentication. See below.
+ items:
+ properties:
+ certificateAuthorityArns:
+ description: List of ACM Certificate Authority Amazon
+ Resource Names (ARNs).
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ unauthenticated:
+ description: Enables unauthenticated access.
+ type: boolean
+ type: object
+ type: array
+ clusterName:
+ description: Name of the MSK cluster.
+ type: string
+ configurationInfo:
+ description: Configuration block for specifying a MSK Configuration
+ to attach to Kafka brokers. See below.
+ items:
+ properties:
+ arn:
+ description: Amazon Resource Name (ARN) of the MSK Configuration
+ to use in the cluster.
+ type: string
+ revision:
+ description: Revision of the MSK Configuration to use in
+ the cluster.
+ type: number
+ type: object
+ type: array
+ currentVersion:
+ description: Current version of the MSK Cluster used for updates,
+ e.g., K13V1IB3VIYZZH
+ type: string
+ encryptionInfo:
+ description: Configuration block for specifying encryption. See
+ below.
+ items:
+ properties:
+ encryptionAtRestKmsKeyArn:
+ description: The ARN of the KMS key used for encryption
+ at rest of the broker data volumes.
+ type: string
+ encryptionInTransit:
+ description: Configuration block to specify encryption in
+ transit. See below.
+ items:
+ properties:
+ clientBroker:
+ description: 'Encryption setting for data in transit
+ between clients and brokers. Valid values: TLS,
+ TLS_PLAINTEXT, and PLAINTEXT. Default value is TLS.'
+ type: string
+ inCluster:
+ description: 'Whether data communication among broker
+ nodes is encrypted. Default value: true.'
+ type: boolean
+ type: object
+ type: array
+ type: object
+ type: array
+ enhancedMonitoring:
+ description: Specify the desired enhanced MSK CloudWatch monitoring
+ level. See Monitoring Amazon MSK with Amazon CloudWatch
+ type: string
+ id:
+ type: string
+ kafkaVersion:
+ description: Specify the desired Kafka software version.
+ type: string
+ loggingInfo:
+ description: Configuration block for streaming broker logs to
+ Cloudwatch/S3/Kinesis Firehose. See below.
+ items:
+ properties:
+ brokerLogs:
+ description: Configuration block for Broker Logs settings
+ for logging info. See below.
+ items:
+ properties:
+ cloudwatchLogs:
+ items:
+ properties:
+ enabled:
+ description: 'Controls whether provisioned throughput
+ is enabled or not. Default value: false.'
+ type: boolean
+ logGroup:
+ description: Name of the Cloudwatch Log Group
+ to deliver logs to.
+ type: string
+ type: object
+ type: array
+ firehose:
+ items:
+ properties:
+ deliveryStream:
+ description: Name of the Kinesis Data Firehose
+ delivery stream to deliver logs to.
+ type: string
+ enabled:
+ description: 'Controls whether provisioned throughput
+ is enabled or not. Default value: false.'
+ type: boolean
+ type: object
+ type: array
+ s3:
+ items:
+ properties:
+ bucket:
+ description: Name of the S3 bucket to deliver
+ logs to.
+ type: string
+ enabled:
+ description: 'Controls whether provisioned throughput
+ is enabled or not. Default value: false.'
+ type: boolean
+ prefix:
+ description: Prefix to append to the folder
+ name.
+ type: string
+ type: object
+ type: array
+ type: object
+ type: array
+ type: object
+ type: array
+ numberOfBrokerNodes:
+ description: The desired total number of broker nodes in the kafka
+ cluster. It must be a multiple of the number of specified client
+ subnets.
+ type: number
+ openMonitoring:
+ description: Configuration block for JMX and Node monitoring for
+ the MSK cluster. See below.
+ items:
+ properties:
+ prometheus:
+ description: Configuration block for Prometheus settings
+ for open monitoring. See below.
+ items:
+ properties:
+ jmxExporter:
+ description: Configuration block for JMX Exporter.
+ See below.
+ items:
+ properties:
+ enabledInBroker:
+ description: Indicates whether you want to enable
+ or disable the JMX Exporter.
+ type: boolean
+ type: object
+ type: array
+ nodeExporter:
+ description: Configuration block for Node Exporter.
+ See below.
+ items:
+ properties:
+ enabledInBroker:
+ description: Indicates whether you want to enable
+ or disable the JMX Exporter.
+ type: boolean
+ type: object
+ type: array
+ type: object
+ type: array
+ type: object
+ type: array
+ storageMode:
+ description: 'Controls storage mode for supported storage tiers.
+ Valid values are: LOCAL or TIERED.'
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ zookeeperConnectString:
+ description: A comma separated list of one or more hostname:port
+ pairs to use to connect to the Apache Zookeeper cluster. The
+ returned values are sorted alphabetically. The AWS API may not
+ return all endpoints, so this value is not guaranteed to be
+ stable across applies.
+ type: string
+ zookeeperConnectStringTls:
+ description: A comma separated list of one or more hostname:port
+ pairs to use to connect to the Apache Zookeeper cluster via
+ TLS. The returned values are sorted alphabetically. The AWS
+ API may not return all endpoints, so this value is not guaranteed
+ to be stable across applies.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/kafka.aws.kubedb.com_configurations.yaml b/charts/kubedb-provider-aws/crds/kafka.aws.kubedb.com_configurations.yaml
new file mode 100644
index 000000000..ef28f3b7c
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/kafka.aws.kubedb.com_configurations.yaml
@@ -0,0 +1,355 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: configurations.kafka.aws.kubedb.com
+spec:
+ group: kafka.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: Configuration
+ listKind: ConfigurationList
+ plural: configurations
+ singular: configuration
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Configuration is the Schema for the Configurations API. Upbound
+ official provider resource for managing an amazon managed streaming for
+ kafka configuration
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ConfigurationSpec defines the desired state of Configuration
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ description:
+ description: Description of the configuration.
+ type: string
+ kafkaVersions:
+ description: List of Apache Kafka versions which can use this
+ configuration.
+ items:
+ type: string
+ type: array
+ name:
+ description: Name of the configuration.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ serverProperties:
+ description: Contents of the server.properties file. Supported
+ properties are documented in the MSK Developer Guide.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: name is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ - message: serverProperties is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.serverProperties)
+ status:
+ description: ConfigurationStatus defines the observed state of Configuration.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: Amazon Resource Name (ARN) of the configuration.
+ type: string
+ description:
+ description: Description of the configuration.
+ type: string
+ id:
+ type: string
+ kafkaVersions:
+ description: List of Apache Kafka versions which can use this
+ configuration.
+ items:
+ type: string
+ type: array
+ latestRevision:
+ description: Latest revision of the configuration.
+ type: number
+ name:
+ description: Name of the configuration.
+ type: string
+ serverProperties:
+ description: Contents of the server.properties file. Supported
+ properties are documented in the MSK Developer Guide.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/kinesis.aws.kubedb.com_streams.yaml b/charts/kubedb-provider-aws/crds/kinesis.aws.kubedb.com_streams.yaml
new file mode 100644
index 000000000..452182c93
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/kinesis.aws.kubedb.com_streams.yaml
@@ -0,0 +1,439 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: streams.kinesis.aws.kubedb.com
+spec:
+ group: kinesis.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: Stream
+ listKind: StreamList
+ plural: streams
+ singular: stream
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Stream is the Schema for the Streams API. Provides a AWS Kinesis
+ Stream
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: StreamSpec defines the desired state of Stream
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ encryptionType:
+ description: The encryption type to use. The only acceptable values
+ are NONE or KMS. The default value is NONE.
+ type: string
+ enforceConsumerDeletion:
+ description: A boolean that indicates all registered consumers
+ should be deregistered from the stream so that the stream can
+ be destroyed without error. The default value is false.
+ type: boolean
+ kmsKeyId:
+ description: The GUID for the customer-managed KMS key to use
+ for encryption. You can also use a Kinesis-owned master key
+ by specifying the alias alias/aws/kinesis.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ retentionPeriod:
+ description: Length of time data records are accessible after
+ they are added to the stream. The maximum value of a stream's
+ retention period is 8760 hours. Minimum value is 24. Default
+ is 24.
+ type: number
+ shardCount:
+ description: – The number of shards that the stream will use.
+ If the stream_mode is PROVISIONED, this field is required. Amazon
+ has guidelines for specifying the Stream size that should be
+ referenced when creating a Kinesis stream. See Amazon Kinesis
+ Streams for more.
+ type: number
+ shardLevelMetrics:
+ description: A list of shard-level CloudWatch metrics which can
+ be enabled for the stream. See Monitoring with CloudWatch for
+ more. Note that the value ALL should not be used; instead you
+ should provide an explicit list of metrics you wish to enable.
+ items:
+ type: string
+ type: array
+ streamModeDetails:
+ description: Indicates the capacity mode of the data stream. Detailed
+ below.
+ items:
+ properties:
+ streamMode:
+ description: Specifies the capacity mode of the stream.
+ Must be either PROVISIONED or ON_DEMAND.
+ type: string
+ required:
+ - streamMode
+ type: object
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: StreamStatus defines the observed state of Stream.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: The Amazon Resource Name (ARN) specifying the Stream
+ (same as id)
+ type: string
+ encryptionType:
+ description: The encryption type to use. The only acceptable values
+ are NONE or KMS. The default value is NONE.
+ type: string
+ enforceConsumerDeletion:
+ description: A boolean that indicates all registered consumers
+ should be deregistered from the stream so that the stream can
+ be destroyed without error. The default value is false.
+ type: boolean
+ id:
+ description: The unique Stream id
+ type: string
+ kmsKeyId:
+ description: The GUID for the customer-managed KMS key to use
+ for encryption. You can also use a Kinesis-owned master key
+ by specifying the alias alias/aws/kinesis.
+ type: string
+ retentionPeriod:
+ description: Length of time data records are accessible after
+ they are added to the stream. The maximum value of a stream's
+ retention period is 8760 hours. Minimum value is 24. Default
+ is 24.
+ type: number
+ shardCount:
+ description: – The number of shards that the stream will use.
+ If the stream_mode is PROVISIONED, this field is required. Amazon
+ has guidelines for specifying the Stream size that should be
+ referenced when creating a Kinesis stream. See Amazon Kinesis
+ Streams for more.
+ type: number
+ shardLevelMetrics:
+ description: A list of shard-level CloudWatch metrics which can
+ be enabled for the stream. See Monitoring with CloudWatch for
+ more. Note that the value ALL should not be used; instead you
+ should provide an explicit list of metrics you wish to enable.
+ items:
+ type: string
+ type: array
+ streamModeDetails:
+ description: Indicates the capacity mode of the data stream. Detailed
+ below.
+ items:
+ properties:
+ streamMode:
+ description: Specifies the capacity mode of the stream.
+ Must be either PROVISIONED or ON_DEMAND.
+ type: string
+ type: object
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/kms.aws.kubedb.com_keys.yaml b/charts/kubedb-provider-aws/crds/kms.aws.kubedb.com_keys.yaml
new file mode 100644
index 000000000..07a3ae2b5
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/kms.aws.kubedb.com_keys.yaml
@@ -0,0 +1,458 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: keys.kms.aws.kubedb.com
+spec:
+ group: kms.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: Key
+ listKind: KeyList
+ plural: keys
+ singular: key
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Key is the Schema for the Keys API. Manages a single-Region or
+ multi-Region primary KMS key.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: KeySpec defines the desired state of Key
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ bypassPolicyLockoutSafetyCheck:
+ description: A flag to indicate whether to bypass the key policy
+ lockout safety check. Setting this value to true increases the
+ risk that the KMS key becomes unmanageable. Do not set this
+ value to true indiscriminately. For more information, refer
+ to the scenario in the Default Key Policy section in the AWS
+ Key Management Service Developer Guide. The default value is
+ false.
+ type: boolean
+ customKeyStoreId:
+ description: ID of the KMS Custom Key Store where the key will
+ be stored instead of KMS (eg CloudHSM).
+ type: string
+ customerMasterKeySpec:
+ description: 'Specifies whether the key contains a symmetric key
+ or an asymmetric key pair and the encryption algorithms or signing
+ algorithms that the key supports. Valid values: SYMMETRIC_DEFAULT, RSA_2048,
+ RSA_3072, RSA_4096, HMAC_256, ECC_NIST_P256, ECC_NIST_P384,
+ ECC_NIST_P521, or ECC_SECG_P256K1. Defaults to SYMMETRIC_DEFAULT.
+ For help with choosing a key spec, see the AWS KMS Developer
+ Guide.'
+ type: string
+ deletionWindowInDays:
+ description: The waiting period, specified in number of days.
+ After the waiting period ends, AWS KMS deletes the KMS key.
+ If you specify a value, it must be between 7 and 30, inclusive.
+ If you do not specify a value, it defaults to 30. If the KMS
+ key is a multi-Region primary key with replicas, the waiting
+ period begins when the last of its replica keys is deleted.
+ Otherwise, the waiting period begins immediately.
+ type: number
+ description:
+ description: The description of the key as viewed in AWS console.
+ type: string
+ enableKeyRotation:
+ description: Specifies whether key rotation is enabled. Defaults
+ to false.
+ type: boolean
+ isEnabled:
+ description: Specifies whether the key is enabled. Defaults to
+ true.
+ type: boolean
+ keyUsage:
+ description: 'Specifies the intended use of the key. Valid values:
+ ENCRYPT_DECRYPT, SIGN_VERIFY, or GENERATE_VERIFY_MAC. Defaults
+ to ENCRYPT_DECRYPT.'
+ type: string
+ multiRegion:
+ description: Indicates whether the KMS key is a multi-Region (true)
+ or regional (false) key. Defaults to false.
+ type: boolean
+ policy:
+ description: A valid policy JSON document. Although this is a
+ key policy, not an IAM policy, an aws_iam_policy_document, in
+ the form that designates a principal, can be used.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the object. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: KeyStatus defines the observed state of Key.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: The Amazon Resource Name (ARN) of the key.
+ type: string
+ bypassPolicyLockoutSafetyCheck:
+ description: A flag to indicate whether to bypass the key policy
+ lockout safety check. Setting this value to true increases the
+ risk that the KMS key becomes unmanageable. Do not set this
+ value to true indiscriminately. For more information, refer
+ to the scenario in the Default Key Policy section in the AWS
+ Key Management Service Developer Guide. The default value is
+ false.
+ type: boolean
+ customKeyStoreId:
+ description: ID of the KMS Custom Key Store where the key will
+ be stored instead of KMS (eg CloudHSM).
+ type: string
+ customerMasterKeySpec:
+ description: 'Specifies whether the key contains a symmetric key
+ or an asymmetric key pair and the encryption algorithms or signing
+ algorithms that the key supports. Valid values: SYMMETRIC_DEFAULT, RSA_2048,
+ RSA_3072, RSA_4096, HMAC_256, ECC_NIST_P256, ECC_NIST_P384,
+ ECC_NIST_P521, or ECC_SECG_P256K1. Defaults to SYMMETRIC_DEFAULT.
+ For help with choosing a key spec, see the AWS KMS Developer
+ Guide.'
+ type: string
+ deletionWindowInDays:
+ description: The waiting period, specified in number of days.
+ After the waiting period ends, AWS KMS deletes the KMS key.
+ If you specify a value, it must be between 7 and 30, inclusive.
+ If you do not specify a value, it defaults to 30. If the KMS
+ key is a multi-Region primary key with replicas, the waiting
+ period begins when the last of its replica keys is deleted.
+ Otherwise, the waiting period begins immediately.
+ type: number
+ description:
+ description: The description of the key as viewed in AWS console.
+ type: string
+ enableKeyRotation:
+ description: Specifies whether key rotation is enabled. Defaults
+ to false.
+ type: boolean
+ id:
+ type: string
+ isEnabled:
+ description: Specifies whether the key is enabled. Defaults to
+ true.
+ type: boolean
+ keyId:
+ description: The globally unique identifier for the key.
+ type: string
+ keyUsage:
+ description: 'Specifies the intended use of the key. Valid values:
+ ENCRYPT_DECRYPT, SIGN_VERIFY, or GENERATE_VERIFY_MAC. Defaults
+ to ENCRYPT_DECRYPT.'
+ type: string
+ multiRegion:
+ description: Indicates whether the KMS key is a multi-Region (true)
+ or regional (false) key. Defaults to false.
+ type: boolean
+ policy:
+ description: A valid policy JSON document. Although this is a
+ key policy, not an IAM policy, an aws_iam_policy_document, in
+ the form that designates a principal, can be used.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the object. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_acls.yaml b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_acls.yaml
new file mode 100644
index 000000000..c37fb13ee
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_acls.yaml
@@ -0,0 +1,358 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: acls.memorydb.aws.kubedb.com
+spec:
+ group: memorydb.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: ACL
+ listKind: ACLList
+ plural: acls
+ singular: acl
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ACL is the Schema for the ACLs API. Provides a MemoryDB ACL.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ACLSpec defines the desired state of ACL
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ userNames:
+ description: Set of MemoryDB user names to be included in this
+ ACL.
+ items:
+ type: string
+ type: array
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: ACLStatus defines the observed state of ACL.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: The ARN of the ACL.
+ type: string
+ id:
+ description: Same as name.
+ type: string
+ minimumEngineVersion:
+ description: The minimum engine version supported by the ACL.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ userNames:
+ description: Set of MemoryDB user names to be included in this
+ ACL.
+ items:
+ type: string
+ type: array
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_clusters.yaml b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_clusters.yaml
new file mode 100644
index 000000000..44365a422
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_clusters.yaml
@@ -0,0 +1,602 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: clusters.memorydb.aws.kubedb.com
+spec:
+ group: memorydb.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: Cluster
+ listKind: ClusterList
+ plural: clusters
+ singular: cluster
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Cluster is the Schema for the Clusters API. Provides a MemoryDB
+ Cluster.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ClusterSpec defines the desired state of Cluster
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ aclName:
+ description: The name of the Access Control List to associate
+ with the cluster.
+ type: string
+ autoMinorVersionUpgrade:
+ description: When set to true, the cluster will automatically
+ receive minor engine version upgrades after launch. Defaults
+ to true.
+ type: boolean
+ dataTiering:
+ description: Enables data tiering. This option is not supported
+ by all instance types. For more information, see Data tiering.
+ type: boolean
+ description:
+ description: Description for the cluster.
+ type: string
+ engineVersion:
+ description: Version number of the Redis engine to be used for
+ the cluster. Downgrades are not supported.
+ type: string
+ finalSnapshotName:
+ description: Name of the final cluster snapshot to be created
+ when this resource is deleted. If omitted, no final snapshot
+ will be made.
+ type: string
+ kmsKeyArn:
+ description: ARN of the KMS key used to encrypt the cluster at
+ rest.
+ type: string
+ maintenanceWindow:
+ description: 'Specifies the weekly time range during which maintenance
+ on the cluster is performed. Specify as a range in the format
+ ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance
+ window is a 60 minute period. Example: sun:23:00-mon:01:30.'
+ type: string
+ nodeType:
+ description: The compute and memory capacity of the nodes in the
+ cluster. See AWS documentation on supported node types as well
+ as vertical scaling.
+ type: string
+ numReplicasPerShard:
+ description: The number of replicas to apply to each shard, up
+ to a maximum of 5. Defaults to 1 (i.e. 2 nodes per shard).
+ type: number
+ numShards:
+ description: The number of shards in the cluster. Defaults to
+ 1.
+ type: number
+ parameterGroupName:
+ description: The name of the parameter group associated with the
+ cluster.
+ type: string
+ port:
+ description: The port number on which each of the nodes accepts
+ connections. Defaults to 6379.
+ type: number
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ securityGroupIds:
+ description: Set of VPC Security Group ID-s to associate with
+ this cluster.
+ items:
+ type: string
+ type: array
+ snapshotArns:
+ description: List of ARN-s that uniquely identify RDB snapshot
+ files stored in S3. The snapshot files will be used to populate
+ the new cluster. Object names in the ARN-s cannot contain any
+ commas.
+ items:
+ type: string
+ type: array
+ snapshotName:
+ description: The name of a snapshot from which to restore data
+ into the new cluster.
+ type: string
+ snapshotRetentionLimit:
+ description: The number of days for which MemoryDB retains automatic
+ snapshots before deleting them. When set to 0, automatic backups
+ are disabled. Defaults to 0.
+ type: number
+ snapshotWindow:
+ description: 'The daily time range (in UTC) during which MemoryDB
+ begins taking a daily snapshot of your shard. Example: 05:00-09:00.'
+ type: string
+ snsTopicArn:
+ description: ARN of the SNS topic to which cluster notifications
+ are sent.
+ type: string
+ subnetGroupName:
+ description: The name of the subnet group to be used for the cluster.
+ Defaults to a subnet group consisting of default VPC subnets.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ tlsEnabled:
+ description: A flag to enable in-transit encryption on the cluster.
+ When set to false, the acl_name must be open-access. Defaults
+ to true.
+ type: boolean
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: aclName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.aclName)
+ - message: nodeType is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.nodeType)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: ClusterStatus defines the observed state of Cluster.
+ properties:
+ atProvider:
+ properties:
+ aclName:
+ description: The name of the Access Control List to associate
+ with the cluster.
+ type: string
+ arn:
+ description: The ARN of the cluster.
+ type: string
+ autoMinorVersionUpgrade:
+ description: When set to true, the cluster will automatically
+ receive minor engine version upgrades after launch. Defaults
+ to true.
+ type: boolean
+ clusterEndpoint:
+ items:
+ properties:
+ address:
+ description: DNS hostname of the cluster configuration endpoint.
+ type: string
+ port:
+ description: The port number on which each of the nodes
+ accepts connections. Defaults to 6379.
+ type: number
+ type: object
+ type: array
+ dataTiering:
+ description: Enables data tiering. This option is not supported
+ by all instance types. For more information, see Data tiering.
+ type: boolean
+ description:
+ description: Description for the cluster.
+ type: string
+ enginePatchVersion:
+ description: Patch version number of the Redis engine used by
+ the cluster.
+ type: string
+ engineVersion:
+ description: Version number of the Redis engine to be used for
+ the cluster. Downgrades are not supported.
+ type: string
+ finalSnapshotName:
+ description: Name of the final cluster snapshot to be created
+ when this resource is deleted. If omitted, no final snapshot
+ will be made.
+ type: string
+ id:
+ description: Same as name.
+ type: string
+ kmsKeyArn:
+ description: ARN of the KMS key used to encrypt the cluster at
+ rest.
+ type: string
+ maintenanceWindow:
+ description: 'Specifies the weekly time range during which maintenance
+ on the cluster is performed. Specify as a range in the format
+ ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance
+ window is a 60 minute period. Example: sun:23:00-mon:01:30.'
+ type: string
+ nodeType:
+ description: The compute and memory capacity of the nodes in the
+ cluster. See AWS documentation on supported node types as well
+ as vertical scaling.
+ type: string
+ numReplicasPerShard:
+ description: The number of replicas to apply to each shard, up
+ to a maximum of 5. Defaults to 1 (i.e. 2 nodes per shard).
+ type: number
+ numShards:
+ description: The number of shards in the cluster. Defaults to
+ 1.
+ type: number
+ parameterGroupName:
+ description: The name of the parameter group associated with the
+ cluster.
+ type: string
+ port:
+ description: The port number on which each of the nodes accepts
+ connections. Defaults to 6379.
+ type: number
+ securityGroupIds:
+ description: Set of VPC Security Group ID-s to associate with
+ this cluster.
+ items:
+ type: string
+ type: array
+ shards:
+ description: Set of shards in this cluster.
+ items:
+ properties:
+ name:
+ description: Name of the cluster. Conflicts with name_prefix.
+ type: string
+ nodes:
+ description: Set of nodes in this shard.
+ items:
+ properties:
+ availabilityZone:
+ description: The Availability Zone in which the node
+ resides.
+ type: string
+ createTime:
+ description: 'The date and time when the node was
+ created. Example: 2022-01-01T21:00:00Z.'
+ type: string
+ endpoint:
+ items:
+ properties:
+ address:
+ description: DNS hostname of the cluster configuration
+ endpoint.
+ type: string
+ port:
+ description: The port number on which each of
+ the nodes accepts connections. Defaults to
+ 6379.
+ type: number
+ type: object
+ type: array
+ name:
+ description: Name of the cluster. Conflicts with name_prefix.
+ type: string
+ type: object
+ type: array
+ numNodes:
+ description: Number of individual nodes in this shard.
+ type: number
+ slots:
+ description: 'Keyspace for this shard. Example: 0-16383.'
+ type: string
+ type: object
+ type: array
+ snapshotArns:
+ description: List of ARN-s that uniquely identify RDB snapshot
+ files stored in S3. The snapshot files will be used to populate
+ the new cluster. Object names in the ARN-s cannot contain any
+ commas.
+ items:
+ type: string
+ type: array
+ snapshotName:
+ description: The name of a snapshot from which to restore data
+ into the new cluster.
+ type: string
+ snapshotRetentionLimit:
+ description: The number of days for which MemoryDB retains automatic
+ snapshots before deleting them. When set to 0, automatic backups
+ are disabled. Defaults to 0.
+ type: number
+ snapshotWindow:
+ description: 'The daily time range (in UTC) during which MemoryDB
+ begins taking a daily snapshot of your shard. Example: 05:00-09:00.'
+ type: string
+ snsTopicArn:
+ description: ARN of the SNS topic to which cluster notifications
+ are sent.
+ type: string
+ subnetGroupName:
+ description: The name of the subnet group to be used for the cluster.
+ Defaults to a subnet group consisting of default VPC subnets.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ tlsEnabled:
+ description: A flag to enable in-transit encryption on the cluster.
+ When set to false, the acl_name must be open-access. Defaults
+ to true.
+ type: boolean
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_parametergroups.yaml b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_parametergroups.yaml
new file mode 100644
index 000000000..9dfc14788
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_parametergroups.yaml
@@ -0,0 +1,391 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: parametergroups.memorydb.aws.kubedb.com
+spec:
+ group: memorydb.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: ParameterGroup
+ listKind: ParameterGroupList
+ plural: parametergroups
+ singular: parametergroup
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ParameterGroup is the Schema for the ParameterGroups API. Provides
+ a MemoryDB Parameter Group.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ParameterGroupSpec defines the desired state of ParameterGroup
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ description:
+ description: Description for the parameter group.
+ type: string
+ family:
+ description: The engine version that the parameter group can be
+ used with.
+ type: string
+ parameter:
+ description: Set of MemoryDB parameters to apply. Any parameters
+ not specified will fall back to their family defaults. Detailed
+ below.
+ items:
+ properties:
+ name:
+ description: The name of the parameter.
+ type: string
+ value:
+ description: The value of the parameter.
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: family is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.family)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: ParameterGroupStatus defines the observed state of ParameterGroup.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: The ARN of the parameter group.
+ type: string
+ description:
+ description: Description for the parameter group.
+ type: string
+ family:
+ description: The engine version that the parameter group can be
+ used with.
+ type: string
+ id:
+ description: Same as name.
+ type: string
+ parameter:
+ description: Set of MemoryDB parameters to apply. Any parameters
+ not specified will fall back to their family defaults. Detailed
+ below.
+ items:
+ properties:
+ name:
+ description: The name of the parameter.
+ type: string
+ value:
+ description: The value of the parameter.
+ type: string
+ type: object
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_snapshots.yaml b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_snapshots.yaml
new file mode 100644
index 000000000..0b026ac9d
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_snapshots.yaml
@@ -0,0 +1,417 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: snapshots.memorydb.aws.kubedb.com
+spec:
+ group: memorydb.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: Snapshot
+ listKind: SnapshotList
+ plural: snapshots
+ singular: snapshot
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Snapshot is the Schema for the Snapshots API. Provides a MemoryDB
+ Snapshot.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SnapshotSpec defines the desired state of Snapshot
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ clusterName:
+ description: Name of the MemoryDB cluster to take a snapshot of.
+ type: string
+ kmsKeyArn:
+ description: ARN of the KMS key used to encrypt the snapshot at
+ rest.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: clusterName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.clusterName)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: SnapshotStatus defines the observed state of Snapshot.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: The ARN of the snapshot.
+ type: string
+ clusterConfiguration:
+ description: The configuration of the cluster from which the snapshot
+ was taken.
+ items:
+ properties:
+ description:
+ description: Description for the cluster.
+ type: string
+ engineVersion:
+ description: Version number of the Redis engine used by
+ the cluster.
+ type: string
+ maintenanceWindow:
+ description: The weekly time range during which maintenance
+ on the cluster is performed.
+ type: string
+ name:
+ description: Name of the snapshot. Conflicts with name_prefix.
+ type: string
+ nodeType:
+ description: Compute and memory capacity of the nodes in
+ the cluster.
+ type: string
+ numShards:
+ description: Number of shards in the cluster.
+ type: number
+ parameterGroupName:
+ description: Name of the parameter group associated with
+ the cluster.
+ type: string
+ port:
+ description: Port number on which the cluster accepts connections.
+ type: number
+ snapshotRetentionLimit:
+ description: Number of days for which MemoryDB retains automatic
+ snapshots before deleting them.
+ type: number
+ snapshotWindow:
+ description: The daily time range (in UTC) during which
+ MemoryDB begins taking a daily snapshot of the shard.
+ type: string
+ subnetGroupName:
+ description: Name of the subnet group used by the cluster.
+ type: string
+ topicArn:
+ description: ARN of the SNS topic to which cluster notifications
+ are sent.
+ type: string
+ vpcId:
+ description: The VPC in which the cluster exists.
+ type: string
+ type: object
+ type: array
+ clusterName:
+ description: Name of the MemoryDB cluster to take a snapshot of.
+ type: string
+ id:
+ description: The name of the snapshot.
+ type: string
+ kmsKeyArn:
+ description: ARN of the KMS key used to encrypt the snapshot at
+ rest.
+ type: string
+ source:
+ description: Indicates whether the snapshot is from an automatic
+ backup (automated) or was created manually (manual).
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_subnetgroups.yaml b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_subnetgroups.yaml
new file mode 100644
index 000000000..7b34989b4
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_subnetgroups.yaml
@@ -0,0 +1,367 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: subnetgroups.memorydb.aws.kubedb.com
+spec:
+ group: memorydb.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: SubnetGroup
+ listKind: SubnetGroupList
+ plural: subnetgroups
+ singular: subnetgroup
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: SubnetGroup is the Schema for the SubnetGroups API. Provides
+ a MemoryDB Subnet Group.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SubnetGroupSpec defines the desired state of SubnetGroup
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ description:
+ description: Description for the subnet group.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ subnetIds:
+ description: Set of VPC Subnet ID-s for the subnet group. At least
+ one subnet must be provided.
+ items:
+ type: string
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ - message: subnetIds is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.subnetIds)
+ status:
+ description: SubnetGroupStatus defines the observed state of SubnetGroup.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: The ARN of the subnet group.
+ type: string
+ description:
+ description: Description for the subnet group.
+ type: string
+ id:
+ description: The name of the subnet group.
+ type: string
+ subnetIds:
+ description: Set of VPC Subnet ID-s for the subnet group. At least
+ one subnet must be provided.
+ items:
+ type: string
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ vpcId:
+ description: The VPC in which the subnet group exists.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusteractivitystreams.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusteractivitystreams.yaml
new file mode 100644
index 000000000..d40a88d8f
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusteractivitystreams.yaml
@@ -0,0 +1,366 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: clusteractivitystreams.rds.aws.kubedb.com
+spec:
+ group: rds.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: ClusterActivityStream
+ listKind: ClusterActivityStreamList
+ plural: clusteractivitystreams
+ singular: clusteractivitystream
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ClusterActivityStream is the Schema for the ClusterActivityStreams
+ API. Manages RDS Aurora Cluster Database Activity Streams
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ClusterActivityStreamSpec defines the desired state of ClusterActivityStream
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ engineNativeAuditFieldsIncluded:
+ description: Specifies whether the database activity stream includes
+ engine-native audit fields. This option only applies to an Oracle
+ DB instance. By default, no engine-native audit fields are included.
+ Defaults false.
+ type: boolean
+ kmsKeyId:
+ description: The AWS KMS key identifier for encrypting messages
+ in the database activity stream. The AWS KMS key identifier
+ is the key ARN, key ID, alias ARN, or alias name for the KMS
+ key.
+ type: string
+ mode:
+ description: 'Specifies the mode of the database activity stream.
+ Database events such as a change or access generate an activity
+ stream event. The database session can handle these events either
+ synchronously or asynchronously. One of: sync, async.'
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ resourceArn:
+ description: The Amazon Resource Name (ARN) of the DB cluster.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: kmsKeyId is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.kmsKeyId)
+ - message: mode is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.mode)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ - message: resourceArn is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.resourceArn)
+ status:
+ description: ClusterActivityStreamStatus defines the observed state of
+ ClusterActivityStream.
+ properties:
+ atProvider:
+ properties:
+ engineNativeAuditFieldsIncluded:
+ description: Specifies whether the database activity stream includes
+ engine-native audit fields. This option only applies to an Oracle
+ DB instance. By default, no engine-native audit fields are included.
+ Defaults false.
+ type: boolean
+ id:
+ description: The Amazon Resource Name (ARN) of the DB cluster.
+ type: string
+ kinesisStreamName:
+ description: The name of the Amazon Kinesis data stream to be
+ used for the database activity stream.
+ type: string
+ kmsKeyId:
+ description: The AWS KMS key identifier for encrypting messages
+ in the database activity stream. The AWS KMS key identifier
+ is the key ARN, key ID, alias ARN, or alias name for the KMS
+ key.
+ type: string
+ mode:
+ description: 'Specifies the mode of the database activity stream.
+ Database events such as a change or access generate an activity
+ stream event. The database session can handle these events either
+ synchronously or asynchronously. One of: sync, async.'
+ type: string
+ resourceArn:
+ description: The Amazon Resource Name (ARN) of the DB cluster.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterendpoints.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterendpoints.yaml
new file mode 100644
index 000000000..6dd17374c
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterendpoints.yaml
@@ -0,0 +1,391 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: clusterendpoints.rds.aws.kubedb.com
+spec:
+ group: rds.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: ClusterEndpoint
+ listKind: ClusterEndpointList
+ plural: clusterendpoints
+ singular: clusterendpoint
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ClusterEndpoint is the Schema for the ClusterEndpoints API. Manages
+ an RDS Aurora Cluster Endpoint
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ClusterEndpointSpec defines the desired state of ClusterEndpoint
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ clusterIdentifier:
+ description: The cluster identifier.
+ type: string
+ customEndpointType:
+ description: 'The type of the endpoint. One of: READER , ANY .'
+ type: string
+ excludedMembers:
+ description: List of DB instance identifiers that aren't part
+ of the custom endpoint group. All other eligible instances are
+ reachable through the custom endpoint. Only relevant if the
+ list of static members is empty. Conflicts with static_members.
+ items:
+ type: string
+ type: array
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ staticMembers:
+ description: List of DB instance identifiers that are part of
+ the custom endpoint group. Conflicts with excluded_members.
+ items:
+ type: string
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: Key-value map of resource tags. If configured with
+ a provider default_tags configuration block present, tags with
+ matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: clusterIdentifier is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.clusterIdentifier)
+ - message: customEndpointType is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.customEndpointType)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: ClusterEndpointStatus defines the observed state of ClusterEndpoint.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: Amazon Resource Name (ARN) of cluster
+ type: string
+ clusterIdentifier:
+ description: The cluster identifier.
+ type: string
+ customEndpointType:
+ description: 'The type of the endpoint. One of: READER , ANY .'
+ type: string
+ endpoint:
+ description: A custom endpoint for the Aurora cluster
+ type: string
+ excludedMembers:
+ description: List of DB instance identifiers that aren't part
+ of the custom endpoint group. All other eligible instances are
+ reachable through the custom endpoint. Only relevant if the
+ list of static members is empty. Conflicts with static_members.
+ items:
+ type: string
+ type: array
+ id:
+ description: The RDS Cluster Endpoint Identifier
+ type: string
+ staticMembers:
+ description: List of DB instance identifiers that are part of
+ the custom endpoint group. Conflicts with excluded_members.
+ items:
+ type: string
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: Key-value map of resource tags. If configured with
+ a provider default_tags configuration block present, tags with
+ matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterinstances.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterinstances.yaml
new file mode 100644
index 000000000..f7db229e7
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterinstances.yaml
@@ -0,0 +1,710 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: clusterinstances.rds.aws.kubedb.com
+spec:
+ group: rds.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: ClusterInstance
+ listKind: ClusterInstanceList
+ plural: clusterinstances
+ singular: clusterinstance
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ClusterInstance is the Schema for the ClusterInstances API. Provides
+ an RDS Cluster Resource Instance
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ClusterInstanceSpec defines the desired state of ClusterInstance
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ applyImmediately:
+ description: Specifies whether any database modifications are
+ applied immediately, or during the next maintenance window.
+ Default isfalse.
+ type: boolean
+ autoMinorVersionUpgrade:
+ description: Indicates that minor engine upgrades will be applied
+ automatically to the DB instance during the maintenance window.
+ Default true.
+ type: boolean
+ availabilityZone:
+ description: EC2 Availability Zone that the DB instance is created
+ in. See docs about the details.
+ type: string
+ caCertIdentifier:
+ description: Identifier of the CA certificate for the DB instance.
+ type: string
+ clusterIdentifier:
+ description: Identifier of the aws_rds_cluster in which to launch
+ this instance.
+ type: string
+ copyTagsToSnapshot:
+ description: defined tags from the DB instance to snapshots of
+ the DB instance. Default false.
+ type: boolean
+ dbParameterGroupName:
+ description: Name of the DB parameter group to associate with
+ this instance.
+ type: string
+ dbSubnetGroupName:
+ description: 'DB subnet group to associate with this DB instance.
+ NOTE: This must match the db_subnet_group_name of the attached
+ aws_rds_cluster.'
+ type: string
+ dbSubnetGroupNameRef:
+ description: Reference to a SubnetGroup to populate dbSubnetGroupName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ dbSubnetGroupNameSelector:
+ description: Selector for a SubnetGroup to populate dbSubnetGroupName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ engine:
+ description: 'Name of the database engine to be used for the RDS
+ instance. Valid Values: aurora-mysql, aurora-postgresql, mysql,
+ postgres.'
+ type: string
+ engineVersion:
+ description: Database engine version.
+ type: string
+ instanceClass:
+ description: Instance class to use. For details on CPU and memory,
+ see Scaling Aurora DB Instances. Aurora uses db.* instance classes/types.
+ Please see AWS Documentation for currently available instance
+ classes and complete details.
+ type: string
+ monitoringInterval:
+ description: 'Interval, in seconds, between points when Enhanced
+ Monitoring metrics are collected for the DB instance. To disable
+ collecting Enhanced Monitoring metrics, specify 0. The default
+ is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.'
+ type: number
+ monitoringRoleArn:
+ description: ARN for the IAM role that permits RDS to send enhanced
+ monitoring metrics to CloudWatch Logs. You can find more information
+ on the AWS Documentation what IAM permissions are needed to
+ allow Enhanced Monitoring for RDS Instances.
+ type: string
+ performanceInsightsEnabled:
+ description: Specifies whether Performance Insights is enabled
+ or not.
+ type: boolean
+ performanceInsightsKmsKeyId:
+ description: ARN for the KMS key to encrypt Performance Insights
+ data. When specifying performance_insights_kms_key_id, performance_insights_enabled
+ needs to be set to true.
+ type: string
+ performanceInsightsKmsKeyIdRef:
+ description: Reference to a Key in kms to populate performanceInsightsKmsKeyId.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ performanceInsightsKmsKeyIdSelector:
+ description: Selector for a Key in kms to populate performanceInsightsKmsKeyId.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ performanceInsightsRetentionPeriod:
+ description: Amount of time in days to retain Performance Insights
+ data. Valid values are 7, 731 (2 years) or a multiple of 31.
+ When specifying performance_insights_retention_period, performance_insights_enabled
+ needs to be set to true. Defaults to '7'.
+ type: number
+ preferredBackupWindow:
+ description: 'Daily time range during which automated backups
+ are created if automated backups are enabled. Eg: "04:00-09:00".
+ NOTE: If preferred_backup_window is set at the cluster level,
+ this argument must be omitted.'
+ type: string
+ preferredMaintenanceWindow:
+ description: 'Window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi".
+ Eg: "Mon:00:00-Mon:03:00".'
+ type: string
+ promotionTier:
+ description: Default 0. Failover Priority setting on instance
+ level. The reader who has lower tier has higher priority to
+ get promoted to writer.
+ type: number
+ publiclyAccessible:
+ description: Bool to control if instance is publicly accessible.
+ Default false. See the documentation on Creating DB Instances
+ for more details on controlling this property.
+ type: boolean
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: Map of tags to assign to the instance. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: Map of tags assigned to the resource, including those
+ inherited from the provider default_tags configuration block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: clusterIdentifier is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.clusterIdentifier)
+ - message: engine is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.engine)
+ - message: instanceClass is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.instanceClass)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: ClusterInstanceStatus defines the observed state of ClusterInstance.
+ properties:
+ atProvider:
+ properties:
+ applyImmediately:
+ description: Specifies whether any database modifications are
+ applied immediately, or during the next maintenance window.
+ Default isfalse.
+ type: boolean
+ arn:
+ description: Amazon Resource Name (ARN) of cluster instance
+ type: string
+ autoMinorVersionUpgrade:
+ description: Indicates that minor engine upgrades will be applied
+ automatically to the DB instance during the maintenance window.
+ Default true.
+ type: boolean
+ availabilityZone:
+ description: EC2 Availability Zone that the DB instance is created
+ in. See docs about the details.
+ type: string
+ caCertIdentifier:
+ description: Identifier of the CA certificate for the DB instance.
+ type: string
+ clusterIdentifier:
+ description: Identifier of the aws_rds_cluster in which to launch
+ this instance.
+ type: string
+ copyTagsToSnapshot:
+ description: defined tags from the DB instance to snapshots of
+ the DB instance. Default false.
+ type: boolean
+ dbParameterGroupName:
+ description: Name of the DB parameter group to associate with
+ this instance.
+ type: string
+ dbSubnetGroupName:
+ description: 'DB subnet group to associate with this DB instance.
+ NOTE: This must match the db_subnet_group_name of the attached
+ aws_rds_cluster.'
+ type: string
+ dbiResourceId:
+ description: Region-unique, immutable identifier for the DB instance.
+ type: string
+ endpoint:
+ description: DNS address for this instance. May not be writable
+ type: string
+ engine:
+ description: 'Name of the database engine to be used for the RDS
+ instance. Valid Values: aurora-mysql, aurora-postgresql, mysql,
+ postgres.'
+ type: string
+ engineVersion:
+ description: Database engine version.
+ type: string
+ engineVersionActual:
+ description: Database engine version
+ type: string
+ id:
+ description: Instance identifier
+ type: string
+ instanceClass:
+ description: Instance class to use. For details on CPU and memory,
+ see Scaling Aurora DB Instances. Aurora uses db.* instance classes/types.
+ Please see AWS Documentation for currently available instance
+ classes and complete details.
+ type: string
+ kmsKeyId:
+ description: ARN for the KMS encryption key if one is set to the
+ cluster.
+ type: string
+ monitoringInterval:
+ description: 'Interval, in seconds, between points when Enhanced
+ Monitoring metrics are collected for the DB instance. To disable
+ collecting Enhanced Monitoring metrics, specify 0. The default
+ is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.'
+ type: number
+ monitoringRoleArn:
+ description: ARN for the IAM role that permits RDS to send enhanced
+ monitoring metrics to CloudWatch Logs. You can find more information
+ on the AWS Documentation what IAM permissions are needed to
+ allow Enhanced Monitoring for RDS Instances.
+ type: string
+ networkType:
+ description: Network type of the DB instance.
+ type: string
+ performanceInsightsEnabled:
+ description: Specifies whether Performance Insights is enabled
+ or not.
+ type: boolean
+ performanceInsightsKmsKeyId:
+ description: ARN for the KMS key to encrypt Performance Insights
+ data. When specifying performance_insights_kms_key_id, performance_insights_enabled
+ needs to be set to true.
+ type: string
+ performanceInsightsRetentionPeriod:
+ description: Amount of time in days to retain Performance Insights
+ data. Valid values are 7, 731 (2 years) or a multiple of 31.
+ When specifying performance_insights_retention_period, performance_insights_enabled
+ needs to be set to true. Defaults to '7'.
+ type: number
+ port:
+ description: Database port
+ type: number
+ preferredBackupWindow:
+ description: 'Daily time range during which automated backups
+ are created if automated backups are enabled. Eg: "04:00-09:00".
+ NOTE: If preferred_backup_window is set at the cluster level,
+ this argument must be omitted.'
+ type: string
+ preferredMaintenanceWindow:
+ description: 'Window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi".
+ Eg: "Mon:00:00-Mon:03:00".'
+ type: string
+ promotionTier:
+ description: Default 0. Failover Priority setting on instance
+ level. The reader who has lower tier has higher priority to
+ get promoted to writer.
+ type: number
+ publiclyAccessible:
+ description: Bool to control if instance is publicly accessible.
+ Default false. See the documentation on Creating DB Instances
+ for more details on controlling this property.
+ type: boolean
+ storageEncrypted:
+ description: Specifies whether the DB cluster is encrypted.
+ type: boolean
+ tags:
+ additionalProperties:
+ type: string
+ description: Map of tags to assign to the instance. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: Map of tags assigned to the resource, including those
+ inherited from the provider default_tags configuration block.
+ type: object
+ writer:
+ description: – Boolean indicating if this instance is writable.
+ False indicates this instance is a read replica.
+ type: boolean
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterparametergroups.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterparametergroups.yaml
new file mode 100644
index 000000000..bc26d0e37
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterparametergroups.yaml
@@ -0,0 +1,402 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: clusterparametergroups.rds.aws.kubedb.com
+spec:
+ group: rds.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: ClusterParameterGroup
+ listKind: ClusterParameterGroupList
+ plural: clusterparametergroups
+ singular: clusterparametergroup
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ClusterParameterGroup is the Schema for the ClusterParameterGroups
+ API. Provides an RDS DB cluster parameter group resource.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ClusterParameterGroupSpec defines the desired state of ClusterParameterGroup
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ description:
+ description: The description of the DB cluster parameter group.
+ type: string
+ family:
+ description: The family of the DB cluster parameter group.
+ type: string
+ parameter:
+ description: A list of DB parameters to apply. Note that parameters
+ may differ from a family to an other. Full list of all parameters
+ can be discovered via aws rds describe-db-cluster-parameters
+ after initial creation of the group.
+ items:
+ properties:
+ applyMethod:
+ description: '"immediate" (default), or "pending-reboot".
+ Some engines can''t apply some parameters without a reboot,
+ and you will need to specify "pending-reboot" here.'
+ type: string
+ name:
+ description: The name of the DB cluster parameter group.
+ type: string
+ value:
+ description: The value of the DB parameter.
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: family is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.family)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: ClusterParameterGroupStatus defines the observed state of
+ ClusterParameterGroup.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: The ARN of the db cluster parameter group.
+ type: string
+ description:
+ description: The description of the DB cluster parameter group.
+ type: string
+ family:
+ description: The family of the DB cluster parameter group.
+ type: string
+ id:
+ description: The db cluster parameter group name.
+ type: string
+ parameter:
+ description: A list of DB parameters to apply. Note that parameters
+ may differ from a family to an other. Full list of all parameters
+ can be discovered via aws rds describe-db-cluster-parameters
+ after initial creation of the group.
+ items:
+ properties:
+ applyMethod:
+ description: '"immediate" (default), or "pending-reboot".
+ Some engines can''t apply some parameters without a reboot,
+ and you will need to specify "pending-reboot" here.'
+ type: string
+ name:
+ description: The name of the DB cluster parameter group.
+ type: string
+ value:
+ description: The value of the DB parameter.
+ type: string
+ type: object
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterroleassociations.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterroleassociations.yaml
new file mode 100644
index 000000000..214233d41
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterroleassociations.yaml
@@ -0,0 +1,347 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: clusterroleassociations.rds.aws.kubedb.com
+spec:
+ group: rds.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: ClusterRoleAssociation
+ listKind: ClusterRoleAssociationList
+ plural: clusterroleassociations
+ singular: clusterroleassociation
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ClusterRoleAssociation is the Schema for the ClusterRoleAssociations
+ API. Manages a RDS DB Cluster association with an IAM Role.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ClusterRoleAssociationSpec defines the desired state of ClusterRoleAssociation
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ dbClusterIdentifier:
+ description: DB Cluster Identifier to associate with the IAM Role.
+ type: string
+ featureName:
+ description: Name of the feature for association. This can be
+ found in the AWS documentation relevant to the integration or
+ a full list is available in the SupportedFeatureNames list returned
+ by AWS CLI rds describe-db-engine-versions.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ roleArn:
+ description: Amazon Resource Name (ARN) of the IAM Role to associate
+ with the DB Cluster.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: dbClusterIdentifier is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.dbClusterIdentifier)
+ - message: featureName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.featureName)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ - message: roleArn is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.roleArn)
+ status:
+ description: ClusterRoleAssociationStatus defines the observed state of
+ ClusterRoleAssociation.
+ properties:
+ atProvider:
+ properties:
+ dbClusterIdentifier:
+ description: DB Cluster Identifier to associate with the IAM Role.
+ type: string
+ featureName:
+ description: Name of the feature for association. This can be
+ found in the AWS documentation relevant to the integration or
+ a full list is available in the SupportedFeatureNames list returned
+ by AWS CLI rds describe-db-engine-versions.
+ type: string
+ id:
+ description: DB Cluster Identifier and IAM Role ARN separated
+ by a comma (,)
+ type: string
+ roleArn:
+ description: Amazon Resource Name (ARN) of the IAM Role to associate
+ with the DB Cluster.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusters.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusters.yaml
new file mode 100644
index 000000000..f37ea2825
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusters.yaml
@@ -0,0 +1,1287 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: clusters.rds.aws.kubedb.com
+spec:
+ group: rds.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: Cluster
+ listKind: ClusterList
+ plural: clusters
+ singular: cluster
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Cluster is the Schema for the Clusters API. Manages an RDS Aurora
+ Cluster
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ClusterSpec defines the desired state of Cluster
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ allocatedStorage:
+ description: The amount of storage in gibibytes (GiB) to allocate
+ to each DB instance in the Multi-AZ DB cluster.
+ type: number
+ allowMajorVersionUpgrade:
+ description: Enable to allow major engine version upgrades when
+ changing engine versions. Defaults to false.
+ type: boolean
+ applyImmediately:
+ description: Specifies whether any cluster modifications are applied
+ immediately, or during the next maintenance window. Default
+ is false. See Amazon RDS Documentation for more information.
+ type: boolean
+ availabilityZones:
+ description: List of EC2 Availability Zones for the DB cluster
+ storage where DB cluster instances can be created. We recommend
+ specifying 3 AZs or using the if necessary. A maximum of 3
+ AZs can be configured.
+ items:
+ type: string
+ type: array
+ backtrackWindow:
+ description: Target backtrack window, in seconds. Only available
+ for aurora and aurora-mysql engines currently. To disable backtracking,
+ set this value to 0. Defaults to 0. Must be between 0 and 259200
+ (72 hours)
+ type: number
+ backupRetentionPeriod:
+ description: Days to retain backups for. Default 1
+ type: number
+ clusterMembers:
+ description: – List of RDS Instances that are a part of this cluster
+ items:
+ type: string
+ type: array
+ copyTagsToSnapshot:
+ description: – Copy all Cluster tags to snapshots. Default is
+ false.
+ type: boolean
+ databaseName:
+ description: 'Name for an automatically created database on cluster
+ creation. There are different naming restrictions per database
+ engine: RDS Naming Constraints'
+ type: string
+ dbClusterInstanceClass:
+ description: Compute and memory capacity of each DB instance in
+ the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all
+ DB instance classes are available in all AWS Regions, or for
+ all database engines. For the full list of DB instance classes
+ and availability for your engine, see DB instance class in the
+ Amazon RDS User Guide. (This setting is required to create a
+ Multi-AZ DB cluster).
+ type: string
+ dbClusterParameterGroupName:
+ type: string
+ dbInstanceParameterGroupName:
+ description: Instance parameter group to associate with all instances
+ of the DB cluster. The db_instance_parameter_group_name parameter
+ is only valid in combination with the allow_major_version_upgrade
+ parameter.
+ type: string
+ dbSubnetGroupName:
+ description: 'DB subnet group to associate with this DB instance.
+ NOTE: This must match the db_subnet_group_name specified on
+ every aws_rds_cluster_instance in the cluster.'
+ type: string
+ dbSubnetGroupNameRef:
+ description: Reference to a SubnetGroup to populate dbSubnetGroupName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ dbSubnetGroupNameSelector:
+ description: Selector for a SubnetGroup to populate dbSubnetGroupName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ deletionProtection:
+ description: If the DB instance should have deletion protection
+ enabled. The database can't be deleted when this value is set
+ to true. The default is false.
+ type: boolean
+ enableGlobalWriteForwarding:
+ description: Whether cluster should forward writes to an associated
+ global cluster. Applied to secondary clusters to enable them
+ to forward writes to an aws_rds_global_cluster's primary cluster.
+ See the Aurora Userguide documentation for more information.
+ type: boolean
+ enableHttpEndpoint:
+ description: Enable HTTP endpoint (data API). Only valid when
+ engine_mode is set to serverless.
+ type: boolean
+ enabledCloudwatchLogsExports:
+ description: 'Set of log types to export to cloudwatch. If omitted,
+ no logs will be exported. The following log types are supported:
+ audit, error, general, slowquery, postgresql (PostgreSQL).'
+ items:
+ type: string
+ type: array
+ engine:
+ description: 'Name of the database engine to be used for this
+ DB cluster. Valid Values: aurora-mysql, aurora-postgresql, mysql,
+ postgres. (Note that mysql and postgres are Multi-AZ RDS clusters).'
+ type: string
+ engineMode:
+ description: 'Database engine mode. Valid values: global (only
+ valid for Aurora MySQL 1.21 and earlier), multimaster, parallelquery,
+ provisioned, serverless. Defaults to: provisioned. See the RDS
+ User Guide for limitations when using serverless.'
+ type: string
+ engineVersion:
+ description: Database engine version. Updating this argument results
+ in an outage. See the Aurora MySQL and Aurora Postgres documentation
+ for your configured engine to determine this value, or by running
+ aws rds describe-db-engine-versions. For example with Aurora
+ MySQL 2, a potential value for this argument is 5.7.mysql_aurora.2.03.2.
+ The value can contain a partial version where supported by the
+ API. The actual engine version used is returned in the attribute
+ engine_version_actual, , see Attributes Reference below.
+ type: string
+ finalSnapshotIdentifier:
+ description: Name of your final DB snapshot when this DB cluster
+ is deleted. If omitted, no final snapshot will be made.
+ type: string
+ globalClusterIdentifier:
+ description: Global cluster identifier specified on aws_rds_global_cluster.
+ type: string
+ iamDatabaseAuthenticationEnabled:
+ description: Specifies whether or not mappings of AWS Identity
+ and Access Management (IAM) accounts to database accounts is
+ enabled. Please see AWS Documentation for availability and limitations.
+ type: boolean
+ iops:
+ description: Amount of Provisioned IOPS (input/output operations
+ per second) to be initially allocated for each DB instance in
+ the Multi-AZ DB cluster. For information about valid Iops values,
+ see Amazon RDS Provisioned IOPS storage to improve performance
+ in the Amazon RDS User Guide. (This setting is required to create
+ a Multi-AZ DB cluster). Must be a multiple between .5 and 50
+ of the storage amount for the DB cluster.
+ type: number
+ kmsKeyId:
+ description: ARN for the KMS encryption key. When specifying kms_key_id,
+ storage_encrypted needs to be set to true.
+ type: string
+ manageMasterUserPassword:
+ description: Set to true to allow RDS to manage the master user
+ password in Secrets Manager. Cannot be set if master_password
+ is provided.
+ type: boolean
+ masterPasswordSecretRef:
+ description: Password for the master DB user. Note that this may
+ show up in logs, and it will be stored in the state file. Please
+ refer to the RDS Naming Constraints. Cannot be set if manage_master_user_password
+ is set to true.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ masterUserSecretKmsKeyId:
+ description: Amazon Web Services KMS key identifier is the key
+ ARN, key ID, alias ARN, or alias name for the KMS key. To use
+ a KMS key in a different Amazon Web Services account, specify
+ the key ARN or alias ARN. If not specified, the default KMS
+ key for your Amazon Web Services account is used.
+ type: string
+ masterUsername:
+ description: Username for the master DB user. Please refer to
+ the RDS Naming Constraints. This argument does not support in-place
+ updates and cannot be changed during a restore from snapshot.
+ type: string
+ networkType:
+ description: 'Network type of the cluster. Valid values: IPV4,
+ DUAL.'
+ type: string
+ port:
+ description: Port on which the DB accepts connections
+ type: number
+ preferredBackupWindow:
+ description: 'Daily time range during which automated backups
+ are created if automated backups are enabled using the BackupRetentionPeriod
+ parameter.Time in UTC. Default: A 30-minute window selected
+ at random from an 8-hour block of time per regionE.g., 04:00-09:00'
+ type: string
+ preferredMaintenanceWindow:
+ description: Weekly time range during which system maintenance
+ can occur, in (UTC) e.g., wed:04:00-wed:04:30
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ replicationSourceIdentifier:
+ description: ARN of a source DB cluster or DB instance if this
+ DB cluster is to be created as a Read Replica.
+ type: string
+ restoreToPointInTime:
+ description: Nested attribute for point in time restore. More
+ details below.
+ items:
+ properties:
+ restoreToTime:
+ description: Date and time in UTC format to restore the
+ database cluster to. Conflicts with use_latest_restorable_time.
+ type: string
+ restoreType:
+ description: Type of restore to be performed. Valid options
+ are full-copy (default) and copy-on-write.
+ type: string
+ sourceClusterIdentifier:
+ description: Identifier of the source database cluster from
+ which to restore.
+ type: string
+ sourceClusterIdentifierRef:
+ description: Reference to a Cluster to populate sourceClusterIdentifier.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution
+ of this reference is required. The default is
+ 'Required', which means the reconcile will fail
+ if the reference cannot be resolved. 'Optional'
+ means this reference will be a no-op if it cannot
+ be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference
+ should be resolved. The default is 'IfNotPresent',
+ which will attempt to resolve the reference only
+ when the corresponding field is not present. Use
+ 'Always' to resolve the reference on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ sourceClusterIdentifierSelector:
+ description: Selector for a Cluster to populate sourceClusterIdentifier.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with
+ the same controller reference as the selecting object
+ is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching
+ labels is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution
+ of this reference is required. The default is
+ 'Required', which means the reconcile will fail
+ if the reference cannot be resolved. 'Optional'
+ means this reference will be a no-op if it cannot
+ be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference
+ should be resolved. The default is 'IfNotPresent',
+ which will attempt to resolve the reference only
+ when the corresponding field is not present. Use
+ 'Always' to resolve the reference on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ useLatestRestorableTime:
+ description: Set to true to restore the database cluster
+ to the latest restorable backup time. Defaults to false.
+ Conflicts with restore_to_time.
+ type: boolean
+ type: object
+ type: array
+ s3Import:
+ description: Port on which the DB accepts connections
+ items:
+ properties:
+ bucketName:
+ description: Bucket name where your backup is stored
+ type: string
+ bucketNameRef:
+ description: Reference to a Bucket in s3 to populate bucketName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution
+ of this reference is required. The default is
+ 'Required', which means the reconcile will fail
+ if the reference cannot be resolved. 'Optional'
+ means this reference will be a no-op if it cannot
+ be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference
+ should be resolved. The default is 'IfNotPresent',
+ which will attempt to resolve the reference only
+ when the corresponding field is not present. Use
+ 'Always' to resolve the reference on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ bucketNameSelector:
+ description: Selector for a Bucket in s3 to populate bucketName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with
+ the same controller reference as the selecting object
+ is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching
+ labels is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution
+ of this reference is required. The default is
+ 'Required', which means the reconcile will fail
+ if the reference cannot be resolved. 'Optional'
+ means this reference will be a no-op if it cannot
+ be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference
+ should be resolved. The default is 'IfNotPresent',
+ which will attempt to resolve the reference only
+ when the corresponding field is not present. Use
+ 'Always' to resolve the reference on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ bucketPrefix:
+ description: Can be blank, but is the path to your backup
+ type: string
+ ingestionRole:
+ description: Role applied to load the data.
+ type: string
+ sourceEngine:
+ description: Source engine for the backup
+ type: string
+ sourceEngineVersion:
+ description: Version of the source engine used to make the
+ backup
+ type: string
+ required:
+ - ingestionRole
+ - sourceEngine
+ - sourceEngineVersion
+ type: object
+ type: array
+ scalingConfiguration:
+ description: Nested attribute with scaling properties. Only valid
+ when engine_mode is set to serverless. More details below.
+ items:
+ properties:
+ autoPause:
+ description: Whether to enable automatic pause. A DB cluster
+ can be paused only when it's idle (it has no connections).
+ If a DB cluster is paused for more than seven days, the
+ DB cluster might be backed up with a snapshot. In this
+ case, the DB cluster is restored when there is a request
+ to connect to it. Defaults to true.
+ type: boolean
+ maxCapacity:
+ description: Maximum capacity for an Aurora DB cluster in
+ serverless DB engine mode. The maximum capacity must be
+ greater than or equal to the minimum capacity. Valid Aurora
+ MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128,
+ 256. Valid Aurora PostgreSQL capacity values are (2, 4,
+ 8, 16, 32, 64, 192, and 384). Defaults to 16.
+ type: number
+ minCapacity:
+ description: Minimum capacity for an Aurora DB cluster in
+ serverless DB engine mode. The minimum capacity must be
+ lesser than or equal to the maximum capacity. Valid Aurora
+ MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128,
+ 256. Valid Aurora PostgreSQL capacity values are (2, 4,
+ 8, 16, 32, 64, 192, and 384). Defaults to 1.
+ type: number
+ secondsUntilAutoPause:
+ description: Time, in seconds, before an Aurora DB cluster
+ in serverless mode is paused. Valid values are 300 through
+ 86400. Defaults to 300.
+ type: number
+ timeoutAction:
+ description: 'Action to take when the timeout is reached.
+ Valid values: ForceApplyCapacityChange, RollbackCapacityChange.
+ Defaults to RollbackCapacityChange. See documentation.'
+ type: string
+ type: object
+ type: array
+ serverlessv2ScalingConfiguration:
+ description: Nested attribute with scaling properties for ServerlessV2.
+ Only valid when engine_mode is set to provisioned. More details
+ below.
+ items:
+ properties:
+ maxCapacity:
+ description: Maximum capacity for an Aurora DB cluster in
+ serverless DB engine mode. The maximum capacity must be
+ greater than or equal to the minimum capacity. Valid Aurora
+ MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128,
+ 256. Valid Aurora PostgreSQL capacity values are (2, 4,
+ 8, 16, 32, 64, 192, and 384). Defaults to 16.
+ type: number
+ minCapacity:
+ description: Minimum capacity for an Aurora DB cluster in
+ serverless DB engine mode. The minimum capacity must be
+ lesser than or equal to the maximum capacity. Valid Aurora
+ MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128,
+ 256. Valid Aurora PostgreSQL capacity values are (2, 4,
+ 8, 16, 32, 64, 192, and 384). Defaults to 1.
+ type: number
+ required:
+ - maxCapacity
+ - minCapacity
+ type: object
+ type: array
+ skipFinalSnapshot:
+ description: Determines whether a final DB snapshot is created
+ before the DB cluster is deleted. If true is specified, no DB
+ snapshot is created. If false is specified, a DB snapshot is
+ created before the DB cluster is deleted, using the value from
+ final_snapshot_identifier. Default is false.
+ type: boolean
+ snapshotIdentifier:
+ description: Specifies whether or not to create this cluster from
+ a snapshot. You can use either the name or ARN when specifying
+ a DB cluster snapshot, or the ARN when specifying a DB snapshot.
+ Conflicts with global_cluster_identifier. Clusters cannot be
+ restored from snapshot and joined to an existing global cluster
+ in a single operation. See the AWS documentation or the Global
+ Cluster Restored From Snapshot example for instructions on building
+ a global cluster starting with a snapshot.
+ type: string
+ sourceRegion:
+ description: The source region for an encrypted replica DB cluster.
+ type: string
+ storageEncrypted:
+ description: Specifies whether the DB cluster is encrypted. The
+ default is false for provisioned engine_mode and true for serverless
+ engine_mode. When restoring an unencrypted snapshot_identifier,
+ the kms_key_id argument must be provided to encrypt the restored
+ cluster.
+ type: boolean
+ storageType:
+ description: '(Forces new for Multi-AZ DB clusters) Specifies
+ the storage type to be associated with the DB cluster. For Aurora
+ DB clusters, storage_type modifications can be done in-place.
+ For Multi-AZ DB Clusters, the iops argument must also be set.
+ Valid values are: "", aurora-iopt1 (Aurora DB Clusters); io1
+ (Multi-AZ DB Clusters). Default: "" (Aurora DB Clusters); io1
+ (Multi-AZ DB Clusters).'
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the DB cluster. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: Map of tags assigned to the resource, including those
+ inherited from the provider default_tags configuration block.
+ type: object
+ vpcSecurityGroupIds:
+ description: List of VPC security groups to associate with the
+ Cluster
+ items:
+ type: string
+ type: array
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: engine is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.engine)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: ClusterStatus defines the observed state of Cluster.
+ properties:
+ atProvider:
+ properties:
+ allocatedStorage:
+ description: The amount of storage in gibibytes (GiB) to allocate
+ to each DB instance in the Multi-AZ DB cluster.
+ type: number
+ allowMajorVersionUpgrade:
+ description: Enable to allow major engine version upgrades when
+ changing engine versions. Defaults to false.
+ type: boolean
+ applyImmediately:
+ description: Specifies whether any cluster modifications are applied
+ immediately, or during the next maintenance window. Default
+ is false. See Amazon RDS Documentation for more information.
+ type: boolean
+ arn:
+ description: Amazon Resource Name (ARN) of cluster
+ type: string
+ availabilityZones:
+ description: List of EC2 Availability Zones for the DB cluster
+ storage where DB cluster instances can be created. We recommend
+ specifying 3 AZs or using the if necessary. A maximum of 3
+ AZs can be configured.
+ items:
+ type: string
+ type: array
+ backtrackWindow:
+ description: Target backtrack window, in seconds. Only available
+ for aurora and aurora-mysql engines currently. To disable backtracking,
+ set this value to 0. Defaults to 0. Must be between 0 and 259200
+ (72 hours)
+ type: number
+ backupRetentionPeriod:
+ description: Days to retain backups for. Default 1
+ type: number
+ clusterMembers:
+ description: – List of RDS Instances that are a part of this cluster
+ items:
+ type: string
+ type: array
+ clusterResourceId:
+ description: RDS Cluster Resource ID
+ type: string
+ copyTagsToSnapshot:
+ description: – Copy all Cluster tags to snapshots. Default is
+ false.
+ type: boolean
+ databaseName:
+ description: 'Name for an automatically created database on cluster
+ creation. There are different naming restrictions per database
+ engine: RDS Naming Constraints'
+ type: string
+ dbClusterInstanceClass:
+ description: Compute and memory capacity of each DB instance in
+ the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all
+ DB instance classes are available in all AWS Regions, or for
+ all database engines. For the full list of DB instance classes
+ and availability for your engine, see DB instance class in the
+ Amazon RDS User Guide. (This setting is required to create a
+ Multi-AZ DB cluster).
+ type: string
+ dbClusterParameterGroupName:
+ type: string
+ dbInstanceParameterGroupName:
+ description: Instance parameter group to associate with all instances
+ of the DB cluster. The db_instance_parameter_group_name parameter
+ is only valid in combination with the allow_major_version_upgrade
+ parameter.
+ type: string
+ dbSubnetGroupName:
+ description: 'DB subnet group to associate with this DB instance.
+ NOTE: This must match the db_subnet_group_name specified on
+ every aws_rds_cluster_instance in the cluster.'
+ type: string
+ deletionProtection:
+ description: If the DB instance should have deletion protection
+ enabled. The database can't be deleted when this value is set
+ to true. The default is false.
+ type: boolean
+ enableGlobalWriteForwarding:
+ description: Whether cluster should forward writes to an associated
+ global cluster. Applied to secondary clusters to enable them
+ to forward writes to an aws_rds_global_cluster's primary cluster.
+ See the Aurora Userguide documentation for more information.
+ type: boolean
+ enableHttpEndpoint:
+ description: Enable HTTP endpoint (data API). Only valid when
+ engine_mode is set to serverless.
+ type: boolean
+ enabledCloudwatchLogsExports:
+ description: 'Set of log types to export to cloudwatch. If omitted,
+ no logs will be exported. The following log types are supported:
+ audit, error, general, slowquery, postgresql (PostgreSQL).'
+ items:
+ type: string
+ type: array
+ endpoint:
+ description: DNS address of the RDS instance
+ type: string
+ engine:
+ description: 'Name of the database engine to be used for this
+ DB cluster. Valid Values: aurora-mysql, aurora-postgresql, mysql,
+ postgres. (Note that mysql and postgres are Multi-AZ RDS clusters).'
+ type: string
+ engineMode:
+ description: 'Database engine mode. Valid values: global (only
+ valid for Aurora MySQL 1.21 and earlier), multimaster, parallelquery,
+ provisioned, serverless. Defaults to: provisioned. See the RDS
+ User Guide for limitations when using serverless.'
+ type: string
+ engineVersion:
+ description: Database engine version. Updating this argument results
+ in an outage. See the Aurora MySQL and Aurora Postgres documentation
+ for your configured engine to determine this value, or by running
+ aws rds describe-db-engine-versions. For example with Aurora
+ MySQL 2, a potential value for this argument is 5.7.mysql_aurora.2.03.2.
+ The value can contain a partial version where supported by the
+ API. The actual engine version used is returned in the attribute
+ engine_version_actual, , see Attributes Reference below.
+ type: string
+ engineVersionActual:
+ description: Running version of the database.
+ type: string
+ finalSnapshotIdentifier:
+ description: Name of your final DB snapshot when this DB cluster
+ is deleted. If omitted, no final snapshot will be made.
+ type: string
+ globalClusterIdentifier:
+ description: Global cluster identifier specified on aws_rds_global_cluster.
+ type: string
+ hostedZoneId:
+ description: Route53 Hosted Zone ID of the endpoint
+ type: string
+ iamDatabaseAuthenticationEnabled:
+ description: Specifies whether or not mappings of AWS Identity
+ and Access Management (IAM) accounts to database accounts is
+ enabled. Please see AWS Documentation for availability and limitations.
+ type: boolean
+ iamRoles:
+ description: List of ARNs for the IAM roles to associate to the
+ RDS Cluster.
+ items:
+ type: string
+ type: array
+ id:
+ description: RDS Cluster Identifier
+ type: string
+ iops:
+ description: Amount of Provisioned IOPS (input/output operations
+ per second) to be initially allocated for each DB instance in
+ the Multi-AZ DB cluster. For information about valid Iops values,
+ see Amazon RDS Provisioned IOPS storage to improve performance
+ in the Amazon RDS User Guide. (This setting is required to create
+ a Multi-AZ DB cluster). Must be a multiple between .5 and 50
+ of the storage amount for the DB cluster.
+ type: number
+ kmsKeyId:
+ description: ARN for the KMS encryption key. When specifying kms_key_id,
+ storage_encrypted needs to be set to true.
+ type: string
+ manageMasterUserPassword:
+ description: Set to true to allow RDS to manage the master user
+ password in Secrets Manager. Cannot be set if master_password
+ is provided.
+ type: boolean
+ masterUserSecret:
+ description: Block that specifies the master user secret. Only
+ available when manage_master_user_password is set to true. Documented
+ below.
+ items:
+ properties:
+ kmsKeyId:
+ description: Amazon Web Services KMS key identifier that
+ is used to encrypt the secret.
+ type: string
+ secretArn:
+ description: Amazon Resource Name (ARN) of the secret.
+ type: string
+ secretStatus:
+ description: 'Status of the secret. Valid Values: creating
+ | active | rotating | impaired.'
+ type: string
+ type: object
+ type: array
+ masterUserSecretKmsKeyId:
+ description: Amazon Web Services KMS key identifier is the key
+ ARN, key ID, alias ARN, or alias name for the KMS key. To use
+ a KMS key in a different Amazon Web Services account, specify
+ the key ARN or alias ARN. If not specified, the default KMS
+ key for your Amazon Web Services account is used.
+ type: string
+ masterUsername:
+ description: Username for the master DB user. Please refer to
+ the RDS Naming Constraints. This argument does not support in-place
+ updates and cannot be changed during a restore from snapshot.
+ type: string
+ networkType:
+ description: 'Network type of the cluster. Valid values: IPV4,
+ DUAL.'
+ type: string
+ port:
+ description: Port on which the DB accepts connections
+ type: number
+ preferredBackupWindow:
+ description: 'Daily time range during which automated backups
+ are created if automated backups are enabled using the BackupRetentionPeriod
+ parameter.Time in UTC. Default: A 30-minute window selected
+ at random from an 8-hour block of time per regionE.g., 04:00-09:00'
+ type: string
+ preferredMaintenanceWindow:
+ description: Weekly time range during which system maintenance
+ can occur, in (UTC) e.g., wed:04:00-wed:04:30
+ type: string
+ readerEndpoint:
+ description: Read-only endpoint for the Aurora cluster, automatically
+ load-balanced across replicas
+ type: string
+ replicationSourceIdentifier:
+ description: ARN of a source DB cluster or DB instance if this
+ DB cluster is to be created as a Read Replica.
+ type: string
+ restoreToPointInTime:
+ description: Nested attribute for point in time restore. More
+ details below.
+ items:
+ properties:
+ restoreToTime:
+ description: Date and time in UTC format to restore the
+ database cluster to. Conflicts with use_latest_restorable_time.
+ type: string
+ restoreType:
+ description: Type of restore to be performed. Valid options
+ are full-copy (default) and copy-on-write.
+ type: string
+ sourceClusterIdentifier:
+ description: Identifier of the source database cluster from
+ which to restore.
+ type: string
+ useLatestRestorableTime:
+ description: Set to true to restore the database cluster
+ to the latest restorable backup time. Defaults to false.
+ Conflicts with restore_to_time.
+ type: boolean
+ type: object
+ type: array
+ s3Import:
+ description: Port on which the DB accepts connections
+ items:
+ properties:
+ bucketName:
+ description: Bucket name where your backup is stored
+ type: string
+ bucketPrefix:
+ description: Can be blank, but is the path to your backup
+ type: string
+ ingestionRole:
+ description: Role applied to load the data.
+ type: string
+ sourceEngine:
+ description: Source engine for the backup
+ type: string
+ sourceEngineVersion:
+ description: Version of the source engine used to make the
+ backup
+ type: string
+ type: object
+ type: array
+ scalingConfiguration:
+ description: Nested attribute with scaling properties. Only valid
+ when engine_mode is set to serverless. More details below.
+ items:
+ properties:
+ autoPause:
+ description: Whether to enable automatic pause. A DB cluster
+ can be paused only when it's idle (it has no connections).
+ If a DB cluster is paused for more than seven days, the
+ DB cluster might be backed up with a snapshot. In this
+ case, the DB cluster is restored when there is a request
+ to connect to it. Defaults to true.
+ type: boolean
+ maxCapacity:
+ description: Maximum capacity for an Aurora DB cluster in
+ serverless DB engine mode. The maximum capacity must be
+ greater than or equal to the minimum capacity. Valid Aurora
+ MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128,
+ 256. Valid Aurora PostgreSQL capacity values are (2, 4,
+ 8, 16, 32, 64, 192, and 384). Defaults to 16.
+ type: number
+ minCapacity:
+ description: Minimum capacity for an Aurora DB cluster in
+ serverless DB engine mode. The minimum capacity must be
+ lesser than or equal to the maximum capacity. Valid Aurora
+ MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128,
+ 256. Valid Aurora PostgreSQL capacity values are (2, 4,
+ 8, 16, 32, 64, 192, and 384). Defaults to 1.
+ type: number
+ secondsUntilAutoPause:
+ description: Time, in seconds, before an Aurora DB cluster
+ in serverless mode is paused. Valid values are 300 through
+ 86400. Defaults to 300.
+ type: number
+ timeoutAction:
+ description: 'Action to take when the timeout is reached.
+ Valid values: ForceApplyCapacityChange, RollbackCapacityChange.
+ Defaults to RollbackCapacityChange. See documentation.'
+ type: string
+ type: object
+ type: array
+ serverlessv2ScalingConfiguration:
+ description: Nested attribute with scaling properties for ServerlessV2.
+ Only valid when engine_mode is set to provisioned. More details
+ below.
+ items:
+ properties:
+ maxCapacity:
+ description: Maximum capacity for an Aurora DB cluster in
+ serverless DB engine mode. The maximum capacity must be
+ greater than or equal to the minimum capacity. Valid Aurora
+ MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128,
+ 256. Valid Aurora PostgreSQL capacity values are (2, 4,
+ 8, 16, 32, 64, 192, and 384). Defaults to 16.
+ type: number
+ minCapacity:
+ description: Minimum capacity for an Aurora DB cluster in
+ serverless DB engine mode. The minimum capacity must be
+ lesser than or equal to the maximum capacity. Valid Aurora
+ MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128,
+ 256. Valid Aurora PostgreSQL capacity values are (2, 4,
+ 8, 16, 32, 64, 192, and 384). Defaults to 1.
+ type: number
+ type: object
+ type: array
+ skipFinalSnapshot:
+ description: Determines whether a final DB snapshot is created
+ before the DB cluster is deleted. If true is specified, no DB
+ snapshot is created. If false is specified, a DB snapshot is
+ created before the DB cluster is deleted, using the value from
+ final_snapshot_identifier. Default is false.
+ type: boolean
+ snapshotIdentifier:
+ description: Specifies whether or not to create this cluster from
+ a snapshot. You can use either the name or ARN when specifying
+ a DB cluster snapshot, or the ARN when specifying a DB snapshot.
+ Conflicts with global_cluster_identifier. Clusters cannot be
+ restored from snapshot and joined to an existing global cluster
+ in a single operation. See the AWS documentation or the Global
+ Cluster Restored From Snapshot example for instructions on building
+ a global cluster starting with a snapshot.
+ type: string
+ sourceRegion:
+ description: The source region for an encrypted replica DB cluster.
+ type: string
+ storageEncrypted:
+ description: Specifies whether the DB cluster is encrypted. The
+ default is false for provisioned engine_mode and true for serverless
+ engine_mode. When restoring an unencrypted snapshot_identifier,
+ the kms_key_id argument must be provided to encrypt the restored
+ cluster.
+ type: boolean
+ storageType:
+ description: '(Forces new for Multi-AZ DB clusters) Specifies
+ the storage type to be associated with the DB cluster. For Aurora
+ DB clusters, storage_type modifications can be done in-place.
+ For Multi-AZ DB Clusters, the iops argument must also be set.
+ Valid values are: "", aurora-iopt1 (Aurora DB Clusters); io1
+ (Multi-AZ DB Clusters). Default: "" (Aurora DB Clusters); io1
+ (Multi-AZ DB Clusters).'
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the DB cluster. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: Map of tags assigned to the resource, including those
+ inherited from the provider default_tags configuration block.
+ type: object
+ vpcSecurityGroupIds:
+ description: List of VPC security groups to associate with the
+ Cluster
+ items:
+ type: string
+ type: array
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clustersnapshots.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clustersnapshots.yaml
new file mode 100644
index 000000000..6457c4287
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clustersnapshots.yaml
@@ -0,0 +1,404 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: clustersnapshots.rds.aws.kubedb.com
+spec:
+ group: rds.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: ClusterSnapshot
+ listKind: ClusterSnapshotList
+ plural: clustersnapshots
+ singular: clustersnapshot
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ClusterSnapshot is the Schema for the ClusterSnapshots API. Manages
+ an RDS database cluster snapshot.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ClusterSnapshotSpec defines the desired state of ClusterSnapshot
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ dbClusterIdentifier:
+ description: The DB Cluster Identifier from which to take the
+ snapshot.
+ type: string
+ dbClusterSnapshotIdentifier:
+ description: The Identifier for the snapshot.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the DB cluster. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: dbClusterIdentifier is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.dbClusterIdentifier)
+ - message: dbClusterSnapshotIdentifier is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.dbClusterSnapshotIdentifier)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: ClusterSnapshotStatus defines the observed state of ClusterSnapshot.
+ properties:
+ atProvider:
+ properties:
+ allocatedStorage:
+ description: Allocated storage size in gigabytes (GB).
+ type: number
+ availabilityZones:
+ description: List of EC2 Availability Zones that instances in
+ the DB cluster snapshot can be restored in.
+ items:
+ type: string
+ type: array
+ dbClusterIdentifier:
+ description: The DB Cluster Identifier from which to take the
+ snapshot.
+ type: string
+ dbClusterSnapshotArn:
+ description: The Amazon Resource Name (ARN) for the DB Cluster
+ Snapshot.
+ type: string
+ dbClusterSnapshotIdentifier:
+ description: The Identifier for the snapshot.
+ type: string
+ engine:
+ description: Name of the database engine.
+ type: string
+ engineVersion:
+ description: Version of the database engine for this DB cluster
+ snapshot.
+ type: string
+ id:
+ type: string
+ kmsKeyId:
+ description: If storage_encrypted is true, the AWS KMS key identifier
+ for the encrypted DB cluster snapshot.
+ type: string
+ licenseModel:
+ description: License model information for the restored DB cluster.
+ type: string
+ port:
+ description: Port that the DB cluster was listening on at the
+ time of the snapshot.
+ type: number
+ snapshotType:
+ type: string
+ sourceDbClusterSnapshotArn:
+ description: The Amazon Resource Name (ARN) for the DB Cluster
+ Snapshot.
+ type: string
+ status:
+ description: The status of this DB Cluster Snapshot.
+ type: string
+ storageEncrypted:
+ description: Whether the DB cluster snapshot is encrypted.
+ type: boolean
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the DB cluster. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ vpcId:
+ description: The VPC ID associated with the DB cluster snapshot.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_dbinstanceautomatedbackupsreplications.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_dbinstanceautomatedbackupsreplications.yaml
new file mode 100644
index 000000000..103c46cbe
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_dbinstanceautomatedbackupsreplications.yaml
@@ -0,0 +1,356 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: dbinstanceautomatedbackupsreplications.rds.aws.kubedb.com
+spec:
+ group: rds.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: DBInstanceAutomatedBackupsReplication
+ listKind: DBInstanceAutomatedBackupsReplicationList
+ plural: dbinstanceautomatedbackupsreplications
+ singular: dbinstanceautomatedbackupsreplication
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: DBInstanceAutomatedBackupsReplication is the Schema for the DBInstanceAutomatedBackupsReplications
+ API. Enables replication of automated backups to a different AWS Region.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: DBInstanceAutomatedBackupsReplicationSpec defines the desired
+ state of DBInstanceAutomatedBackupsReplication
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ kmsKeyId:
+ description: The AWS KMS key identifier for encryption of the
+ replicated automated backups. The KMS key ID is the Amazon Resource
+ Name (ARN) for the KMS encryption key in the destination AWS
+ Region, for example, arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE.
+ type: string
+ preSignedUrl:
+ description: A URL that contains a Signature Version 4 signed
+ request for the StartDBInstanceAutomatedBackupsReplication action
+ to be called in the AWS Region of the source DB instance.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ retentionPeriod:
+ description: The retention period for the replicated automated
+ backups, defaults to 7.
+ type: number
+ sourceDbInstanceArn:
+ description: The Amazon Resource Name (ARN) of the source DB instance
+ for the replicated automated backups, for example, arn:aws:rds:us-west-2:123456789012:db:mydatabase.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ - message: sourceDbInstanceArn is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.sourceDbInstanceArn)
+ status:
+ description: DBInstanceAutomatedBackupsReplicationStatus defines the observed
+ state of DBInstanceAutomatedBackupsReplication.
+ properties:
+ atProvider:
+ properties:
+ id:
+ description: The Amazon Resource Name (ARN) of the replicated
+ automated backups.
+ type: string
+ kmsKeyId:
+ description: The AWS KMS key identifier for encryption of the
+ replicated automated backups. The KMS key ID is the Amazon Resource
+ Name (ARN) for the KMS encryption key in the destination AWS
+ Region, for example, arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE.
+ type: string
+ preSignedUrl:
+ description: A URL that contains a Signature Version 4 signed
+ request for the StartDBInstanceAutomatedBackupsReplication action
+ to be called in the AWS Region of the source DB instance.
+ type: string
+ retentionPeriod:
+ description: The retention period for the replicated automated
+ backups, defaults to 7.
+ type: number
+ sourceDbInstanceArn:
+ description: The Amazon Resource Name (ARN) of the source DB instance
+ for the replicated automated backups, for example, arn:aws:rds:us-west-2:123456789012:db:mydatabase.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_dbsnapshotcopies.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_dbsnapshotcopies.yaml
new file mode 100644
index 000000000..b00a87738
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_dbsnapshotcopies.yaml
@@ -0,0 +1,438 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: dbsnapshotcopies.rds.aws.kubedb.com
+spec:
+ group: rds.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: DBSnapshotCopy
+ listKind: DBSnapshotCopyList
+ plural: dbsnapshotcopies
+ singular: dbsnapshotcopy
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: DBSnapshotCopy is the Schema for the DBSnapshotCopys API. Manages
+ an RDS database instance snapshot copy.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: DBSnapshotCopySpec defines the desired state of DBSnapshotCopy
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ copyTags:
+ description: Whether to copy existing tags. Defaults to false.
+ type: boolean
+ destinationRegion:
+ description: The Destination region to place snapshot copy.
+ type: string
+ kmsKeyId:
+ description: KMS key ID.
+ type: string
+ optionGroupName:
+ description: The name of an option group to associate with the
+ copy of the snapshot.
+ type: string
+ presignedUrl:
+ description: he URL that contains a Signature Version 4 signed
+ request.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ sourceDbSnapshotIdentifier:
+ description: Snapshot identifier of the source snapshot.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: Key-value map of resource tags. If configured with
+ a provider default_tags configuration block present, tags with
+ matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ targetCustomAvailabilityZone:
+ description: The external custom Availability Zone.
+ type: string
+ targetDbSnapshotIdentifier:
+ description: The Identifier for the snapshot.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ - message: sourceDbSnapshotIdentifier is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.sourceDbSnapshotIdentifier)
+ - message: targetDbSnapshotIdentifier is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.targetDbSnapshotIdentifier)
+ status:
+ description: DBSnapshotCopyStatus defines the observed state of DBSnapshotCopy.
+ properties:
+ atProvider:
+ properties:
+ allocatedStorage:
+ description: Specifies the allocated storage size in gigabytes
+ (GB).
+ type: number
+ availabilityZone:
+ description: Specifies the name of the Availability Zone the DB
+ instance was located in at the time of the DB snapshot.
+ type: string
+ copyTags:
+ description: Whether to copy existing tags. Defaults to false.
+ type: boolean
+ dbSnapshotArn:
+ description: The Amazon Resource Name (ARN) for the DB snapshot.
+ type: string
+ destinationRegion:
+ description: The Destination region to place snapshot copy.
+ type: string
+ encrypted:
+ description: Specifies whether the DB snapshot is encrypted.
+ type: boolean
+ engine:
+ description: Specifies the name of the database engine.
+ type: string
+ engineVersion:
+ description: Specifies the version of the database engine.
+ type: string
+ id:
+ description: Snapshot Identifier.
+ type: string
+ iops:
+ description: Specifies the Provisioned IOPS (I/O operations per
+ second) value of the DB instance at the time of the snapshot.
+ type: number
+ kmsKeyId:
+ description: KMS key ID.
+ type: string
+ licenseModel:
+ description: License model information for the restored DB instance.
+ type: string
+ optionGroupName:
+ description: The name of an option group to associate with the
+ copy of the snapshot.
+ type: string
+ port:
+ type: number
+ presignedUrl:
+ description: he URL that contains a Signature Version 4 signed
+ request.
+ type: string
+ snapshotType:
+ type: string
+ sourceDbSnapshotIdentifier:
+ description: Snapshot identifier of the source snapshot.
+ type: string
+ sourceRegion:
+ description: The region that the DB snapshot was created in or
+ copied from.
+ type: string
+ storageType:
+ description: Specifies the storage type associated with DB snapshot.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: Key-value map of resource tags. If configured with
+ a provider default_tags configuration block present, tags with
+ matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ targetCustomAvailabilityZone:
+ description: The external custom Availability Zone.
+ type: string
+ targetDbSnapshotIdentifier:
+ description: The Identifier for the snapshot.
+ type: string
+ vpcId:
+ description: Provides the VPC ID associated with the DB snapshot.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_eventsubscriptions.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_eventsubscriptions.yaml
new file mode 100644
index 000000000..2a7190e29
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_eventsubscriptions.yaml
@@ -0,0 +1,407 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: eventsubscriptions.rds.aws.kubedb.com
+spec:
+ group: rds.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: EventSubscription
+ listKind: EventSubscriptionList
+ plural: eventsubscriptions
+ singular: eventsubscription
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: EventSubscription is the Schema for the EventSubscriptions API.
+ Provides a DB event subscription resource.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: EventSubscriptionSpec defines the desired state of EventSubscription
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ enabled:
+ description: A boolean flag to enable/disable the subscription.
+ Defaults to true.
+ type: boolean
+ eventCategories:
+ description: A list of event categories for a SourceType that
+ you want to subscribe to. See http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html
+ or run aws rds describe-event-categories.
+ items:
+ type: string
+ type: array
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ snsTopic:
+ description: The SNS topic to send events to.
+ type: string
+ sourceIds:
+ description: A list of identifiers of the event sources for which
+ events will be returned. If not specified, then all sources
+ are included in the response. If specified, a source_type must
+ also be specified.
+ items:
+ type: string
+ type: array
+ sourceType:
+ description: The type of source that will be generating the events.
+ Valid options are db-instance, db-security-group, db-parameter-group,
+ db-snapshot, db-cluster or db-cluster-snapshot. If not set,
+ all sources will be subscribed to.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ - message: snsTopic is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.snsTopic)
+ status:
+ description: EventSubscriptionStatus defines the observed state of EventSubscription.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: The Amazon Resource Name of the RDS event notification
+ subscription
+ type: string
+ customerAwsId:
+ description: The AWS customer account associated with the RDS
+ event notification subscription
+ type: string
+ enabled:
+ description: A boolean flag to enable/disable the subscription.
+ Defaults to true.
+ type: boolean
+ eventCategories:
+ description: A list of event categories for a SourceType that
+ you want to subscribe to. See http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html
+ or run aws rds describe-event-categories.
+ items:
+ type: string
+ type: array
+ id:
+ description: The name of the RDS event notification subscription
+ type: string
+ snsTopic:
+ description: The SNS topic to send events to.
+ type: string
+ sourceIds:
+ description: A list of identifiers of the event sources for which
+ events will be returned. If not specified, then all sources
+ are included in the response. If specified, a source_type must
+ also be specified.
+ items:
+ type: string
+ type: array
+ sourceType:
+ description: The type of source that will be generating the events.
+ Valid options are db-instance, db-security-group, db-parameter-group,
+ db-snapshot, db-cluster or db-cluster-snapshot. If not set,
+ all sources will be subscribed to.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_globalclusters.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_globalclusters.yaml
new file mode 100644
index 000000000..4bb1c6bc7
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_globalclusters.yaml
@@ -0,0 +1,407 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: globalclusters.rds.aws.kubedb.com
+spec:
+ group: rds.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: GlobalCluster
+ listKind: GlobalClusterList
+ plural: globalclusters
+ singular: globalcluster
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: GlobalCluster is the Schema for the GlobalClusters API. Manages
+ an RDS Global Cluster
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: GlobalClusterSpec defines the desired state of GlobalCluster
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ databaseName:
+ description: Name for an automatically created database on cluster
+ creation.
+ type: string
+ deletionProtection:
+ description: If the Global Cluster should have deletion protection
+ enabled. The database can't be deleted when this value is set
+ to true. The default is false.
+ type: boolean
+ engine:
+ description: 'Name of the database engine to be used for this
+ DB cluster. Valid values: aurora, aurora-mysql, aurora-postgresql.
+ Defaults to aurora. Conflicts with source_db_cluster_identifier.'
+ type: string
+ engineVersion:
+ description: 'Engine version of the Aurora global database. The
+ engine, engine_version, and instance_class (on the aws_rds_cluster_instance)
+ must together support global databases. See Using Amazon Aurora
+ global databases for more information. NOTE: To avoid an inconsistent
+ final plan error while upgrading, use the lifecycle ignore_changes
+ for engine_version meta argument on the associated aws_rds_cluster
+ resource as shown above in Upgrading Engine Versions example.'
+ type: string
+ forceDestroy:
+ description: Enable to remove DB Cluster members from Global Cluster
+ on destroy. Required with source_db_cluster_identifier.
+ type: boolean
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ sourceDbClusterIdentifier:
+ description: Amazon Resource Name (ARN) to use as the primary
+ DB Cluster of the Global Cluster on creation.
+ type: string
+ storageEncrypted:
+ description: Specifies whether the DB cluster is encrypted. The
+ default is false unless source_db_cluster_identifier is specified
+ and encrypted.
+ type: boolean
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: GlobalClusterStatus defines the observed state of GlobalCluster.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: RDS Global Cluster Amazon Resource Name (ARN)
+ type: string
+ databaseName:
+ description: Name for an automatically created database on cluster
+ creation.
+ type: string
+ deletionProtection:
+ description: If the Global Cluster should have deletion protection
+ enabled. The database can't be deleted when this value is set
+ to true. The default is false.
+ type: boolean
+ engine:
+ description: 'Name of the database engine to be used for this
+ DB cluster. Valid values: aurora, aurora-mysql, aurora-postgresql.
+ Defaults to aurora. Conflicts with source_db_cluster_identifier.'
+ type: string
+ engineVersion:
+ description: 'Engine version of the Aurora global database. The
+ engine, engine_version, and instance_class (on the aws_rds_cluster_instance)
+ must together support global databases. See Using Amazon Aurora
+ global databases for more information. NOTE: To avoid an inconsistent
+ final plan error while upgrading, use the lifecycle ignore_changes
+ for engine_version meta argument on the associated aws_rds_cluster
+ resource as shown above in Upgrading Engine Versions example.'
+ type: string
+ engineVersionActual:
+ type: string
+ forceDestroy:
+ description: Enable to remove DB Cluster members from Global Cluster
+ on destroy. Required with source_db_cluster_identifier.
+ type: boolean
+ globalClusterMembers:
+ description: Set of objects containing Global Cluster members.
+ items:
+ properties:
+ dbClusterArn:
+ description: Amazon Resource Name (ARN) of member DB Cluster
+ type: string
+ isWriter:
+ description: Whether the member is the primary DB Cluster
+ type: boolean
+ type: object
+ type: array
+ globalClusterResourceId:
+ description: AWS Region-unique, immutable identifier for the global
+ database cluster. This identifier is found in AWS CloudTrail
+ log entries whenever the AWS KMS key for the DB cluster is accessed
+ type: string
+ id:
+ description: RDS Global Cluster identifier
+ type: string
+ sourceDbClusterIdentifier:
+ description: Amazon Resource Name (ARN) to use as the primary
+ DB Cluster of the Global Cluster on creation.
+ type: string
+ storageEncrypted:
+ description: Specifies whether the DB cluster is encrypted. The
+ default is false unless source_db_cluster_identifier is specified
+ and encrypted.
+ type: boolean
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_instanceroleassociations.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_instanceroleassociations.yaml
new file mode 100644
index 000000000..1926f47a0
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_instanceroleassociations.yaml
@@ -0,0 +1,350 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: instanceroleassociations.rds.aws.kubedb.com
+spec:
+ group: rds.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: InstanceRoleAssociation
+ listKind: InstanceRoleAssociationList
+ plural: instanceroleassociations
+ singular: instanceroleassociation
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: InstanceRoleAssociation is the Schema for the InstanceRoleAssociations
+ API. Manages an RDS DB Instance association with an IAM Role.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: InstanceRoleAssociationSpec defines the desired state of
+ InstanceRoleAssociation
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ dbInstanceIdentifier:
+ description: DB Instance Identifier to associate with the IAM
+ Role.
+ type: string
+ featureName:
+ description: Name of the feature for association. This can be
+ found in the AWS documentation relevant to the integration or
+ a full list is available in the SupportedFeatureNames list returned
+ by AWS CLI rds describe-db-engine-versions.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ roleArn:
+ description: Amazon Resource Name (ARN) of the IAM Role to associate
+ with the DB Instance.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: dbInstanceIdentifier is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.dbInstanceIdentifier)
+ - message: featureName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.featureName)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ - message: roleArn is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.roleArn)
+ status:
+ description: InstanceRoleAssociationStatus defines the observed state
+ of InstanceRoleAssociation.
+ properties:
+ atProvider:
+ properties:
+ dbInstanceIdentifier:
+ description: DB Instance Identifier to associate with the IAM
+ Role.
+ type: string
+ featureName:
+ description: Name of the feature for association. This can be
+ found in the AWS documentation relevant to the integration or
+ a full list is available in the SupportedFeatureNames list returned
+ by AWS CLI rds describe-db-engine-versions.
+ type: string
+ id:
+ description: DB Instance Identifier and IAM Role ARN separated
+ by a comma (,)
+ type: string
+ roleArn:
+ description: Amazon Resource Name (ARN) of the IAM Role to associate
+ with the DB Instance.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_instances.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_instances.yaml
new file mode 100644
index 000000000..4635909d7
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_instances.yaml
@@ -0,0 +1,1309 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: instances.rds.aws.kubedb.com
+spec:
+ group: rds.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: Instance
+ listKind: InstanceList
+ plural: instances
+ singular: instance
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Instance is the Schema for the Instances API. Provides an RDS
+ instance resource.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: InstanceSpec defines the desired state of Instance
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ allocatedStorage:
+ description: The allocated storage in gibibytes. If max_allocated_storage
+ is configured, this argument represents the initial storage
+ allocation and differences from the configuration will be ignored
+ automatically when Storage Autoscaling occurs. If replicate_source_db
+ is set, the value is ignored during the creation of the instance.
+ type: number
+ allowMajorVersionUpgrade:
+ description: Indicates that major version upgrades are allowed.
+ Changing this parameter does not result in an outage and the
+ change is asynchronously applied as soon as possible.
+ type: boolean
+ applyImmediately:
+ description: Specifies whether any database modifications are
+ applied immediately, or during the next maintenance window.
+ Default is false. See Amazon RDS Documentation for more information.
+ type: boolean
+ autoGeneratePassword:
+ description: Password for the master DB user. Note that this may
+ show up in logs, and it will be stored in the state file. Cannot
+ be set if manage_master_user_password is set to true. If true,
+ the password will be auto-generated and stored in the Secret
+ referenced by the passwordSecretRef field.
+ type: boolean
+ autoMinorVersionUpgrade:
+ description: Indicates that minor engine upgrades will be applied
+ automatically to the DB instance during the maintenance window.
+ Defaults to true.
+ type: boolean
+ availabilityZone:
+ description: The AZ for the RDS instance.
+ type: string
+ backupRetentionPeriod:
+ description: The days to retain backups for. Must be between 0
+ and 35. Default is 0. Must be greater than 0 if the database
+ is used as a source for a Read Replica, uses low-downtime updates,
+ or will use RDS Blue/Green deployments.
+ type: number
+ backupWindow:
+ description: 'The daily time range (in UTC) during which automated
+ backups are created if they are enabled. Example: "09:46-10:16".
+ Must not overlap with maintenance_window.'
+ type: string
+ blueGreenUpdate:
+ description: Enables low-downtime updates using RDS Blue/Green
+ deployments. See blue_green_update below
+ items:
+ properties:
+ enabled:
+ description: Enables [low-downtime updates](#Low-Downtime
+ Updates) when true. Default is false.
+ type: boolean
+ type: object
+ type: array
+ caCertIdentifier:
+ description: The identifier of the CA certificate for the DB instance.
+ type: string
+ characterSetName:
+ description: The character set name to use for DB encoding in
+ Oracle and Microsoft SQL instances (collation). This can't be
+ changed. See Oracle Character Sets Supported in Amazon RDS or
+ Server-Level Collation for Microsoft SQL Server for more information.
+ type: string
+ copyTagsToSnapshot:
+ description: – Copy all Instance tags to snapshots. Default is
+ false.
+ type: boolean
+ customIamInstanceProfile:
+ description: The instance profile associated with the underlying
+ Amazon EC2 instance of an RDS Custom DB instance.
+ type: string
+ customerOwnedIpEnabled:
+ description: Indicates whether to enable a customer-owned IP address
+ (CoIP) for an RDS on Outposts DB instance. See CoIP for RDS
+ on Outposts for more information.
+ type: boolean
+ dbName:
+ description: The name of the database to create when the DB instance
+ is created. If this parameter is not specified, no database
+ is created in the DB instance. Note that this does not apply
+ for Oracle or SQL Server engines. See the AWS documentation
+ for more details on what applies for those engines. If you are
+ providing an Oracle db name, it needs to be in all upper case.
+ Cannot be specified for a replica.
+ type: string
+ dbSubnetGroupName:
+ description: Name of DB subnet group. DB instance will be created
+ in the VPC associated with the DB subnet group. If unspecified,
+ will be created in the default VPC, or in EC2 Classic, if available.
+ When working with read replicas, it should be specified only
+ if the source database specifies an instance in another AWS
+ Region. See DBSubnetGroupName in API action CreateDBInstanceReadReplica
+ for additional read replica contraints.
+ type: string
+ dbSubnetGroupNameRef:
+ description: Reference to a SubnetGroup to populate dbSubnetGroupName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ dbSubnetGroupNameSelector:
+ description: Selector for a SubnetGroup to populate dbSubnetGroupName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ deleteAutomatedBackups:
+ description: Specifies whether to remove automated backups immediately
+ after the DB instance is deleted. Default is true.
+ type: boolean
+ deletionProtection:
+ description: If the DB instance should have deletion protection
+ enabled. The database can't be deleted when this value is set
+ to true. The default is false.
+ type: boolean
+ domain:
+ description: The ID of the Directory Service Active Directory
+ domain to create the instance in.
+ type: string
+ domainIamRoleName:
+ description: The name of the IAM role to be used when making API
+ calls to the Directory Service.
+ type: string
+ enabledCloudwatchLogsExports:
+ description: 'Set of log types to enable for exporting to CloudWatch
+ logs. If omitted, no logs will be exported. Valid values (depending
+ on engine). MySQL and MariaDB: audit, error, general, slowquery.
+ PostgreSQL: postgresql, upgrade. MSSQL: agent , error. Oracle:
+ alert, audit, listener, trace.'
+ items:
+ type: string
+ type: array
+ engine:
+ description: The database engine to use. For supported values,
+ see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html).
+ Note that for Amazon Aurora instances the engine must match
+ the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s
+ engine'. For information on the difference between the available
+ Aurora MySQL engines see Comparison in the [Amazon RDS Release
+ Notes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html).
+ type: string
+ engineVersion:
+ description: The engine version to use. If `autoMinorVersionUpgrade`
+ is enabled, you can provide a prefix of the version such as
+ 5.7 (for 5.7.10). The actual engine version used is returned
+ in the attribute `status.atProvider.engineVersionActual`. For
+ supported values, see the EngineVersion parameter in [API action
+ CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html).
+ Note that for Amazon Aurora instances the engine version must
+ match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s
+ engine version'.
+ type: string
+ finalSnapshotIdentifier:
+ description: The name of your final DB snapshot when this DB instance
+ is deleted. Must be provided if skip_final_snapshot is set to
+ false. The value must begin with a letter, only contain alphanumeric
+ characters and hyphens, and not end with a hyphen or contain
+ two consecutive hyphens. Must not be provided when deleting
+ a read replica.
+ type: string
+ iamDatabaseAuthenticationEnabled:
+ description: Specifies whether mappings of AWS Identity and Access
+ Management (IAM) accounts to database accounts is enabled.
+ type: boolean
+ instanceClass:
+ description: The instance type of the RDS instance.
+ type: string
+ iops:
+ description: The amount of provisioned IOPS. Setting this implies
+ a storage_type of "io1". Can only be set when storage_type is
+ "io1" or "gp3". Cannot be specified for gp3 storage if the allocated_storage
+ value is below a per-engine threshold. See the RDS User Guide
+ for details.
+ type: number
+ kmsKeyId:
+ description: The ARN for the KMS encryption key. If creating an
+ encrypted replica, set this to the destination KMS ARN.
+ type: string
+ kmsKeyIdRef:
+ description: Reference to a Key in kms to populate kmsKeyId.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ kmsKeyIdSelector:
+ description: Selector for a Key in kms to populate kmsKeyId.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ licenseModel:
+ description: License model information for this DB instance.
+ type: string
+ maintenanceWindow:
+ description: 'The window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi".
+ Eg: "Mon:00:00-Mon:03:00". See RDS Maintenance Window docs for
+ more information.'
+ type: string
+ manageMasterUserPassword:
+ description: Set to true to allow RDS to manage the master user
+ password in Secrets Manager. Cannot be set if password is provided.
+ type: boolean
+ masterUserSecretKmsKeyId:
+ description: The Amazon Web Services KMS key identifier is the
+ key ARN, key ID, alias ARN, or alias name for the KMS key. To
+ use a KMS key in a different Amazon Web Services account, specify
+ the key ARN or alias ARN. If not specified, the default KMS
+ key for your Amazon Web Services account is used.
+ type: string
+ maxAllocatedStorage:
+ description: When configured, the upper limit to which Amazon
+ RDS can automatically scale the storage of the DB instance.
+ Configuring this will automatically ignore differences to allocated_storage.
+ Must be greater than or equal to allocated_storage or 0 to disable
+ Storage Autoscaling.
+ type: number
+ monitoringInterval:
+ description: 'The interval, in seconds, between points when Enhanced
+ Monitoring metrics are collected for the DB instance. To disable
+ collecting Enhanced Monitoring metrics, specify 0. The default
+ is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.'
+ type: number
+ monitoringRoleArn:
+ description: The ARN for the IAM role that permits RDS to send
+ enhanced monitoring metrics to CloudWatch Logs. You can find
+ more information on the AWS Documentation what IAM permissions
+ are needed to allow Enhanced Monitoring for RDS Instances.
+ type: string
+ multiAz:
+ description: Specifies if the RDS instance is multi-AZ
+ type: boolean
+ ncharCharacterSetName:
+ description: The national character set is used in the NCHAR,
+ NVARCHAR2, and NCLOB data types for Oracle instances. This can't
+ be changed. See Oracle Character Sets Supported in Amazon RDS.
+ type: string
+ networkType:
+ description: 'The network type of the DB instance. Valid values:
+ IPV4, DUAL.'
+ type: string
+ optionGroupName:
+ description: Name of the DB option group to associate.
+ type: string
+ parameterGroupName:
+ description: Name of the DB parameter group to associate.
+ type: string
+ passwordSecretRef:
+ description: Password for the master DB user. Note that this may
+ show up in logs, and it will be stored in the state file. Cannot
+ be set if manage_master_user_password is set to true. Password
+ for the master DB user. If you set autoGeneratePassword to true,
+ the Secret referenced here will be created or updated with generated
+ password if it does not already contain one.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ performanceInsightsEnabled:
+ description: Specifies whether Performance Insights are enabled.
+ Defaults to false.
+ type: boolean
+ performanceInsightsKmsKeyId:
+ description: The ARN for the KMS key to encrypt Performance Insights
+ data. When specifying performance_insights_kms_key_id, performance_insights_enabled
+ needs to be set to true. Once KMS key is set, it can never be
+ changed.
+ type: string
+ performanceInsightsRetentionPeriod:
+ description: Amount of time in days to retain Performance Insights
+ data. Valid values are 7, 731 (2 years) or a multiple of 31.
+ When specifying performance_insights_retention_period, performance_insights_enabled
+ needs to be set to true. Defaults to '7'.
+ type: number
+ port:
+ description: The port on which the DB accepts connections.
+ type: number
+ publiclyAccessible:
+ description: Bool to control if instance is publicly accessible.
+ Default is false.
+ type: boolean
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ replicaMode:
+ description: Specifies whether the replica is in either mounted
+ or open-read-only mode. This attribute is only supported by
+ Oracle instances. Oracle replicas operate in open-read-only
+ mode unless otherwise specified. See Working with Oracle Read
+ Replicas for more information.
+ type: string
+ replicateSourceDb:
+ description: Specifies that this resource is a Replicate database,
+ and to use this value as the source database. This correlates
+ to the identifier of another Amazon RDS Database to replicate
+ (if replicating within a single region) or ARN of the Amazon
+ RDS Database to replicate (if replicating cross-region). Note
+ that if you are creating a cross-region replica of an encrypted
+ database you will also need to specify a kms_key_id. See DB
+ Instance Replication and Working with PostgreSQL and MySQL Read
+ Replicas for more information on using Replication.
+ type: string
+ restoreToPointInTime:
+ description: A configuration block for restoring a DB instance
+ to an arbitrary point in time. Requires the identifier argument
+ to be set with the name of the new DB instance to be created.
+ See Restore To Point In Time below for details.
+ items:
+ properties:
+ restoreTime:
+ description: The date and time to restore from. Value must
+ be a time in Universal Coordinated Time (UTC) format and
+ must be before the latest restorable time for the DB instance.
+ Cannot be specified with use_latest_restorable_time.
+ type: string
+ sourceDbInstanceAutomatedBackupsArn:
+ description: The ARN of the automated backup from which
+ to restore. Required if source_db_instance_identifier
+ or source_dbi_resource_id is not specified.
+ type: string
+ sourceDbInstanceIdentifier:
+ description: The identifier of the source DB instance from
+ which to restore. Must match the identifier of an existing
+ DB instance. Required if source_db_instance_automated_backups_arn
+ or source_dbi_resource_id is not specified.
+ type: string
+ sourceDbiResourceId:
+ description: The resource ID of the source DB instance from
+ which to restore. Required if source_db_instance_identifier
+ or source_db_instance_automated_backups_arn is not specified.
+ type: string
+ useLatestRestorableTime:
+ description: A boolean value that indicates whether the
+ DB instance is restored from the latest backup time. Defaults
+ to false. Cannot be specified with restore_time.
+ type: boolean
+ type: object
+ type: array
+ s3Import:
+ description: Restore from a Percona Xtrabackup in S3. See Importing
+ Data into an Amazon RDS MySQL DB Instance
+ items:
+ properties:
+ bucketName:
+ description: The bucket name where your backup is stored
+ type: string
+ bucketPrefix:
+ description: Can be blank, but is the path to your backup
+ type: string
+ ingestionRole:
+ description: Role applied to load the data.
+ type: string
+ sourceEngine:
+ description: Source engine for the backup
+ type: string
+ sourceEngineVersion:
+ description: Version of the source engine used to make the
+ backup
+ type: string
+ required:
+ - bucketName
+ - ingestionRole
+ - sourceEngine
+ - sourceEngineVersion
+ type: object
+ type: array
+ skipFinalSnapshot:
+ description: Determines whether a final DB snapshot is created
+ before the DB instance is deleted. If true is specified, no
+ DBSnapshot is created. If false is specified, a DB snapshot
+ is created before the DB instance is deleted, using the value
+ from final_snapshot_identifier. Default is false.
+ type: boolean
+ snapshotIdentifier:
+ description: 'Specifies whether or not to create this database
+ from a snapshot. This correlates to the snapshot ID you''d find
+ in the RDS console, e.g: rds:production-2015-06-26-06-05.'
+ type: string
+ storageEncrypted:
+ description: Specifies whether the DB instance is encrypted. Note
+ that if you are creating a cross-region read replica this field
+ is ignored and you should instead declare kms_key_id with a
+ valid ARN. The default is false if not specified.
+ type: boolean
+ storageThroughput:
+ description: The storage throughput value for the DB instance.
+ Can only be set when storage_type is "gp3". Cannot be specified
+ if the allocated_storage value is below a per-engine threshold.
+ See the RDS User Guide for details.
+ type: number
+ storageType:
+ description: One of "standard" (magnetic), "gp2" (general purpose
+ SSD), "gp3" (general purpose SSD that needs iops independently)
+ or "io1" (provisioned IOPS SSD). The default is "io1" if iops
+ is specified, "gp2" if not.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ timezone:
+ description: Time zone of the DB instance. timezone is currently
+ only supported by Microsoft SQL Server. The timezone can only
+ be set on creation. See MSSQL User Guide for more information.
+ type: string
+ username:
+ description: Username for the master DB user. Cannot be specified
+ for a replica.
+ type: string
+ vpcSecurityGroupIds:
+ description: List of VPC security groups to associate.
+ items:
+ type: string
+ type: array
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: instanceClass is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.instanceClass)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: InstanceStatus defines the observed state of Instance.
+ properties:
+ atProvider:
+ properties:
+ address:
+ description: The hostname of the RDS instance. See also endpoint
+ and port.
+ type: string
+ allocatedStorage:
+ description: The allocated storage in gibibytes. If max_allocated_storage
+ is configured, this argument represents the initial storage
+ allocation and differences from the configuration will be ignored
+ automatically when Storage Autoscaling occurs. If replicate_source_db
+ is set, the value is ignored during the creation of the instance.
+ type: number
+ allowMajorVersionUpgrade:
+ description: Indicates that major version upgrades are allowed.
+ Changing this parameter does not result in an outage and the
+ change is asynchronously applied as soon as possible.
+ type: boolean
+ applyImmediately:
+ description: Specifies whether any database modifications are
+ applied immediately, or during the next maintenance window.
+ Default is false. See Amazon RDS Documentation for more information.
+ type: boolean
+ arn:
+ description: The ARN of the RDS instance.
+ type: string
+ autoMinorVersionUpgrade:
+ description: Indicates that minor engine upgrades will be applied
+ automatically to the DB instance during the maintenance window.
+ Defaults to true.
+ type: boolean
+ availabilityZone:
+ description: The AZ for the RDS instance.
+ type: string
+ backupRetentionPeriod:
+ description: The days to retain backups for. Must be between 0
+ and 35. Default is 0. Must be greater than 0 if the database
+ is used as a source for a Read Replica, uses low-downtime updates,
+ or will use RDS Blue/Green deployments.
+ type: number
+ backupWindow:
+ description: 'The daily time range (in UTC) during which automated
+ backups are created if they are enabled. Example: "09:46-10:16".
+ Must not overlap with maintenance_window.'
+ type: string
+ blueGreenUpdate:
+ description: Enables low-downtime updates using RDS Blue/Green
+ deployments. See blue_green_update below
+ items:
+ properties:
+ enabled:
+ description: Enables [low-downtime updates](#Low-Downtime
+ Updates) when true. Default is false.
+ type: boolean
+ type: object
+ type: array
+ caCertIdentifier:
+ description: The identifier of the CA certificate for the DB instance.
+ type: string
+ characterSetName:
+ description: The character set name to use for DB encoding in
+ Oracle and Microsoft SQL instances (collation). This can't be
+ changed. See Oracle Character Sets Supported in Amazon RDS or
+ Server-Level Collation for Microsoft SQL Server for more information.
+ type: string
+ copyTagsToSnapshot:
+ description: – Copy all Instance tags to snapshots. Default is
+ false.
+ type: boolean
+ customIamInstanceProfile:
+ description: The instance profile associated with the underlying
+ Amazon EC2 instance of an RDS Custom DB instance.
+ type: string
+ customerOwnedIpEnabled:
+ description: Indicates whether to enable a customer-owned IP address
+ (CoIP) for an RDS on Outposts DB instance. See CoIP for RDS
+ on Outposts for more information.
+ type: boolean
+ dbName:
+ description: The name of the database to create when the DB instance
+ is created. If this parameter is not specified, no database
+ is created in the DB instance. Note that this does not apply
+ for Oracle or SQL Server engines. See the AWS documentation
+ for more details on what applies for those engines. If you are
+ providing an Oracle db name, it needs to be in all upper case.
+ Cannot be specified for a replica.
+ type: string
+ dbSubnetGroupName:
+ description: Name of DB subnet group. DB instance will be created
+ in the VPC associated with the DB subnet group. If unspecified,
+ will be created in the default VPC, or in EC2 Classic, if available.
+ When working with read replicas, it should be specified only
+ if the source database specifies an instance in another AWS
+ Region. See DBSubnetGroupName in API action CreateDBInstanceReadReplica
+ for additional read replica contraints.
+ type: string
+ deleteAutomatedBackups:
+ description: Specifies whether to remove automated backups immediately
+ after the DB instance is deleted. Default is true.
+ type: boolean
+ deletionProtection:
+ description: If the DB instance should have deletion protection
+ enabled. The database can't be deleted when this value is set
+ to true. The default is false.
+ type: boolean
+ domain:
+ description: The ID of the Directory Service Active Directory
+ domain to create the instance in.
+ type: string
+ domainIamRoleName:
+ description: The name of the IAM role to be used when making API
+ calls to the Directory Service.
+ type: string
+ enabledCloudwatchLogsExports:
+ description: 'Set of log types to enable for exporting to CloudWatch
+ logs. If omitted, no logs will be exported. Valid values (depending
+ on engine). MySQL and MariaDB: audit, error, general, slowquery.
+ PostgreSQL: postgresql, upgrade. MSSQL: agent , error. Oracle:
+ alert, audit, listener, trace.'
+ items:
+ type: string
+ type: array
+ endpoint:
+ description: The connection endpoint in address:port format.
+ type: string
+ engine:
+ description: The database engine to use. For supported values,
+ see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html).
+ Note that for Amazon Aurora instances the engine must match
+ the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s
+ engine'. For information on the difference between the available
+ Aurora MySQL engines see Comparison in the [Amazon RDS Release
+ Notes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html).
+ type: string
+ engineVersion:
+ description: The engine version to use. If `autoMinorVersionUpgrade`
+ is enabled, you can provide a prefix of the version such as
+ 5.7 (for 5.7.10). The actual engine version used is returned
+ in the attribute `status.atProvider.engineVersionActual`. For
+ supported values, see the EngineVersion parameter in [API action
+ CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html).
+ Note that for Amazon Aurora instances the engine version must
+ match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s
+ engine version'.
+ type: string
+ engineVersionActual:
+ description: The running version of the database.
+ type: string
+ finalSnapshotIdentifier:
+ description: The name of your final DB snapshot when this DB instance
+ is deleted. Must be provided if skip_final_snapshot is set to
+ false. The value must begin with a letter, only contain alphanumeric
+ characters and hyphens, and not end with a hyphen or contain
+ two consecutive hyphens. Must not be provided when deleting
+ a read replica.
+ type: string
+ hostedZoneId:
+ description: The canonical hosted zone ID of the DB instance (to
+ be used in a Route 53 Alias record).
+ type: string
+ iamDatabaseAuthenticationEnabled:
+ description: Specifies whether mappings of AWS Identity and Access
+ Management (IAM) accounts to database accounts is enabled.
+ type: boolean
+ id:
+ description: RDS DBI resource ID.
+ type: string
+ instanceClass:
+ description: The instance type of the RDS instance.
+ type: string
+ iops:
+ description: The amount of provisioned IOPS. Setting this implies
+ a storage_type of "io1". Can only be set when storage_type is
+ "io1" or "gp3". Cannot be specified for gp3 storage if the allocated_storage
+ value is below a per-engine threshold. See the RDS User Guide
+ for details.
+ type: number
+ kmsKeyId:
+ description: The ARN for the KMS encryption key. If creating an
+ encrypted replica, set this to the destination KMS ARN.
+ type: string
+ latestRestorableTime:
+ description: The latest time, in UTC RFC3339 format, to which
+ a database can be restored with point-in-time restore.
+ type: string
+ licenseModel:
+ description: License model information for this DB instance.
+ type: string
+ listenerEndpoint:
+ description: Specifies the listener connection endpoint for SQL
+ Server Always On. See endpoint below.
+ items:
+ properties:
+ address:
+ description: The hostname of the RDS instance. See also
+ endpoint and port.
+ type: string
+ hostedZoneId:
+ description: The canonical hosted zone ID of the DB instance
+ (to be used in a Route 53 Alias record).
+ type: string
+ port:
+ description: The port on which the DB accepts connections.
+ type: number
+ type: object
+ type: array
+ maintenanceWindow:
+ description: 'The window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi".
+ Eg: "Mon:00:00-Mon:03:00". See RDS Maintenance Window docs for
+ more information.'
+ type: string
+ manageMasterUserPassword:
+ description: Set to true to allow RDS to manage the master user
+ password in Secrets Manager. Cannot be set if password is provided.
+ type: boolean
+ masterUserSecret:
+ description: A block that specifies the master user secret. Only
+ available when manage_master_user_password is set to true. Documented
+ below.
+ items:
+ properties:
+ kmsKeyId:
+ description: The Amazon Web Services KMS key identifier
+ that is used to encrypt the secret.
+ type: string
+ secretArn:
+ description: The Amazon Resource Name (ARN) of the secret.
+ type: string
+ secretStatus:
+ description: 'The status of the secret. Valid Values: creating
+ | active | rotating | impaired.'
+ type: string
+ type: object
+ type: array
+ masterUserSecretKmsKeyId:
+ description: The Amazon Web Services KMS key identifier is the
+ key ARN, key ID, alias ARN, or alias name for the KMS key. To
+ use a KMS key in a different Amazon Web Services account, specify
+ the key ARN or alias ARN. If not specified, the default KMS
+ key for your Amazon Web Services account is used.
+ type: string
+ maxAllocatedStorage:
+ description: When configured, the upper limit to which Amazon
+ RDS can automatically scale the storage of the DB instance.
+ Configuring this will automatically ignore differences to allocated_storage.
+ Must be greater than or equal to allocated_storage or 0 to disable
+ Storage Autoscaling.
+ type: number
+ monitoringInterval:
+ description: 'The interval, in seconds, between points when Enhanced
+ Monitoring metrics are collected for the DB instance. To disable
+ collecting Enhanced Monitoring metrics, specify 0. The default
+ is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.'
+ type: number
+ monitoringRoleArn:
+ description: The ARN for the IAM role that permits RDS to send
+ enhanced monitoring metrics to CloudWatch Logs. You can find
+ more information on the AWS Documentation what IAM permissions
+ are needed to allow Enhanced Monitoring for RDS Instances.
+ type: string
+ multiAz:
+ description: Specifies if the RDS instance is multi-AZ
+ type: boolean
+ ncharCharacterSetName:
+ description: The national character set is used in the NCHAR,
+ NVARCHAR2, and NCLOB data types for Oracle instances. This can't
+ be changed. See Oracle Character Sets Supported in Amazon RDS.
+ type: string
+ networkType:
+ description: 'The network type of the DB instance. Valid values:
+ IPV4, DUAL.'
+ type: string
+ optionGroupName:
+ description: Name of the DB option group to associate.
+ type: string
+ parameterGroupName:
+ description: Name of the DB parameter group to associate.
+ type: string
+ performanceInsightsEnabled:
+ description: Specifies whether Performance Insights are enabled.
+ Defaults to false.
+ type: boolean
+ performanceInsightsKmsKeyId:
+ description: The ARN for the KMS key to encrypt Performance Insights
+ data. When specifying performance_insights_kms_key_id, performance_insights_enabled
+ needs to be set to true. Once KMS key is set, it can never be
+ changed.
+ type: string
+ performanceInsightsRetentionPeriod:
+ description: Amount of time in days to retain Performance Insights
+ data. Valid values are 7, 731 (2 years) or a multiple of 31.
+ When specifying performance_insights_retention_period, performance_insights_enabled
+ needs to be set to true. Defaults to '7'.
+ type: number
+ port:
+ description: The port on which the DB accepts connections.
+ type: number
+ publiclyAccessible:
+ description: Bool to control if instance is publicly accessible.
+ Default is false.
+ type: boolean
+ replicaMode:
+ description: Specifies whether the replica is in either mounted
+ or open-read-only mode. This attribute is only supported by
+ Oracle instances. Oracle replicas operate in open-read-only
+ mode unless otherwise specified. See Working with Oracle Read
+ Replicas for more information.
+ type: string
+ replicas:
+ items:
+ type: string
+ type: array
+ replicateSourceDb:
+ description: Specifies that this resource is a Replicate database,
+ and to use this value as the source database. This correlates
+ to the identifier of another Amazon RDS Database to replicate
+ (if replicating within a single region) or ARN of the Amazon
+ RDS Database to replicate (if replicating cross-region). Note
+ that if you are creating a cross-region replica of an encrypted
+ database you will also need to specify a kms_key_id. See DB
+ Instance Replication and Working with PostgreSQL and MySQL Read
+ Replicas for more information on using Replication.
+ type: string
+ resourceId:
+ description: The RDS Resource ID of this instance.
+ type: string
+ restoreToPointInTime:
+ description: A configuration block for restoring a DB instance
+ to an arbitrary point in time. Requires the identifier argument
+ to be set with the name of the new DB instance to be created.
+ See Restore To Point In Time below for details.
+ items:
+ properties:
+ restoreTime:
+ description: The date and time to restore from. Value must
+ be a time in Universal Coordinated Time (UTC) format and
+ must be before the latest restorable time for the DB instance.
+ Cannot be specified with use_latest_restorable_time.
+ type: string
+ sourceDbInstanceAutomatedBackupsArn:
+ description: The ARN of the automated backup from which
+ to restore. Required if source_db_instance_identifier
+ or source_dbi_resource_id is not specified.
+ type: string
+ sourceDbInstanceIdentifier:
+ description: The identifier of the source DB instance from
+ which to restore. Must match the identifier of an existing
+ DB instance. Required if source_db_instance_automated_backups_arn
+ or source_dbi_resource_id is not specified.
+ type: string
+ sourceDbiResourceId:
+ description: The resource ID of the source DB instance from
+ which to restore. Required if source_db_instance_identifier
+ or source_db_instance_automated_backups_arn is not specified.
+ type: string
+ useLatestRestorableTime:
+ description: A boolean value that indicates whether the
+ DB instance is restored from the latest backup time. Defaults
+ to false. Cannot be specified with restore_time.
+ type: boolean
+ type: object
+ type: array
+ s3Import:
+ description: Restore from a Percona Xtrabackup in S3. See Importing
+ Data into an Amazon RDS MySQL DB Instance
+ items:
+ properties:
+ bucketName:
+ description: The bucket name where your backup is stored
+ type: string
+ bucketPrefix:
+ description: Can be blank, but is the path to your backup
+ type: string
+ ingestionRole:
+ description: Role applied to load the data.
+ type: string
+ sourceEngine:
+ description: Source engine for the backup
+ type: string
+ sourceEngineVersion:
+ description: Version of the source engine used to make the
+ backup
+ type: string
+ type: object
+ type: array
+ skipFinalSnapshot:
+ description: Determines whether a final DB snapshot is created
+ before the DB instance is deleted. If true is specified, no
+ DBSnapshot is created. If false is specified, a DB snapshot
+ is created before the DB instance is deleted, using the value
+ from final_snapshot_identifier. Default is false.
+ type: boolean
+ snapshotIdentifier:
+ description: 'Specifies whether or not to create this database
+ from a snapshot. This correlates to the snapshot ID you''d find
+ in the RDS console, e.g: rds:production-2015-06-26-06-05.'
+ type: string
+ status:
+ description: The RDS instance status.
+ type: string
+ storageEncrypted:
+ description: Specifies whether the DB instance is encrypted. Note
+ that if you are creating a cross-region read replica this field
+ is ignored and you should instead declare kms_key_id with a
+ valid ARN. The default is false if not specified.
+ type: boolean
+ storageThroughput:
+ description: The storage throughput value for the DB instance.
+ Can only be set when storage_type is "gp3". Cannot be specified
+ if the allocated_storage value is below a per-engine threshold.
+ See the RDS User Guide for details.
+ type: number
+ storageType:
+ description: One of "standard" (magnetic), "gp2" (general purpose
+ SSD), "gp3" (general purpose SSD that needs iops independently)
+ or "io1" (provisioned IOPS SSD). The default is "io1" if iops
+ is specified, "gp2" if not.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ timezone:
+ description: Time zone of the DB instance. timezone is currently
+ only supported by Microsoft SQL Server. The timezone can only
+ be set on creation. See MSSQL User Guide for more information.
+ type: string
+ username:
+ description: Username for the master DB user. Cannot be specified
+ for a replica.
+ type: string
+ vpcSecurityGroupIds:
+ description: List of VPC security groups to associate.
+ items:
+ type: string
+ type: array
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_optiongroups.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_optiongroups.yaml
new file mode 100644
index 000000000..7423fda80
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_optiongroups.yaml
@@ -0,0 +1,457 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: optiongroups.rds.aws.kubedb.com
+spec:
+ group: rds.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: OptionGroup
+ listKind: OptionGroupList
+ plural: optiongroups
+ singular: optiongroup
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: OptionGroup is the Schema for the OptionGroups API. Provides
+ an RDS DB option group resource.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: OptionGroupSpec defines the desired state of OptionGroup
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ engineName:
+ description: Specifies the name of the engine that this option
+ group should be associated with.
+ type: string
+ majorEngineVersion:
+ description: Specifies the major version of the engine that this
+ option group should be associated with.
+ type: string
+ option:
+ description: A list of Options to apply.
+ items:
+ properties:
+ dbSecurityGroupMemberships:
+ description: A list of DB Security Groups for which the
+ option is enabled.
+ items:
+ type: string
+ type: array
+ optionName:
+ description: The Name of the Option (e.g., MEMCACHED).
+ type: string
+ optionSettings:
+ description: A list of option settings to apply.
+ items:
+ properties:
+ name:
+ description: The name of the option group. Must be
+ lowercase, to match as it is stored in AWS.
+ type: string
+ value:
+ description: The Value of the setting.
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ port:
+ description: The Port number when connecting to the Option
+ (e.g., 11211).
+ type: number
+ version:
+ description: The version of the option (e.g., 13.1.0.0).
+ type: string
+ vpcSecurityGroupMemberships:
+ description: A list of VPC Security Groups for which the
+ option is enabled.
+ items:
+ type: string
+ type: array
+ required:
+ - optionName
+ type: object
+ type: array
+ optionGroupDescription:
+ description: The description of the option group.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: engineName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.engineName)
+ - message: majorEngineVersion is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.majorEngineVersion)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: OptionGroupStatus defines the observed state of OptionGroup.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: The ARN of the db option group.
+ type: string
+ engineName:
+ description: Specifies the name of the engine that this option
+ group should be associated with.
+ type: string
+ id:
+ description: The db option group name.
+ type: string
+ majorEngineVersion:
+ description: Specifies the major version of the engine that this
+ option group should be associated with.
+ type: string
+ option:
+ description: A list of Options to apply.
+ items:
+ properties:
+ dbSecurityGroupMemberships:
+ description: A list of DB Security Groups for which the
+ option is enabled.
+ items:
+ type: string
+ type: array
+ optionName:
+ description: The Name of the Option (e.g., MEMCACHED).
+ type: string
+ optionSettings:
+ description: A list of option settings to apply.
+ items:
+ properties:
+ name:
+ description: The name of the option group. Must be
+ lowercase, to match as it is stored in AWS.
+ type: string
+ value:
+ description: The Value of the setting.
+ type: string
+ type: object
+ type: array
+ port:
+ description: The Port number when connecting to the Option
+ (e.g., 11211).
+ type: number
+ version:
+ description: The version of the option (e.g., 13.1.0.0).
+ type: string
+ vpcSecurityGroupMemberships:
+ description: A list of VPC Security Groups for which the
+ option is enabled.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ optionGroupDescription:
+ description: The description of the option group.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_parametergroups.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_parametergroups.yaml
new file mode 100644
index 000000000..57742d017
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_parametergroups.yaml
@@ -0,0 +1,401 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: parametergroups.rds.aws.kubedb.com
+spec:
+ group: rds.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: ParameterGroup
+ listKind: ParameterGroupList
+ plural: parametergroups
+ singular: parametergroup
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ParameterGroup is the Schema for the ParameterGroups API. Provides
+ an RDS DB parameter group resource.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ParameterGroupSpec defines the desired state of ParameterGroup
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ description:
+ description: The description of the DB parameter group.
+ type: string
+ family:
+ description: The family of the DB parameter group.
+ type: string
+ parameter:
+ description: A list of DB parameters to apply. Note that parameters
+ may differ from a family to an other. Full list of all parameters
+ can be discovered via aws rds describe-db-parameters after initial
+ creation of the group.
+ items:
+ properties:
+ applyMethod:
+ description: '"immediate" (default), or "pending-reboot".
+ Some engines can''t apply some parameters without a reboot,
+ and you will need to specify "pending-reboot" here.'
+ type: string
+ name:
+ description: The name of the DB parameter group.
+ type: string
+ value:
+ description: The value of the DB parameter.
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: family is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.family)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: ParameterGroupStatus defines the observed state of ParameterGroup.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: The ARN of the db parameter group.
+ type: string
+ description:
+ description: The description of the DB parameter group.
+ type: string
+ family:
+ description: The family of the DB parameter group.
+ type: string
+ id:
+ description: The db parameter group name.
+ type: string
+ parameter:
+ description: A list of DB parameters to apply. Note that parameters
+ may differ from a family to an other. Full list of all parameters
+ can be discovered via aws rds describe-db-parameters after initial
+ creation of the group.
+ items:
+ properties:
+ applyMethod:
+ description: '"immediate" (default), or "pending-reboot".
+ Some engines can''t apply some parameters without a reboot,
+ and you will need to specify "pending-reboot" here.'
+ type: string
+ name:
+ description: The name of the DB parameter group.
+ type: string
+ value:
+ description: The value of the DB parameter.
+ type: string
+ type: object
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxies.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxies.yaml
new file mode 100644
index 000000000..4e8c662cd
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxies.yaml
@@ -0,0 +1,521 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: proxies.rds.aws.kubedb.com
+spec:
+ group: rds.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: Proxy
+ listKind: ProxyList
+ plural: proxies
+ singular: proxy
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Proxy is the Schema for the Proxys API. Provides an RDS DB proxy
+ resource.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ProxySpec defines the desired state of Proxy
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ auth:
+ description: Configuration block(s) with authorization mechanisms
+ to connect to the associated instances or clusters. Described
+ below.
+ items:
+ properties:
+ authScheme:
+ description: The type of authentication that the proxy uses
+ for connections from the proxy to the underlying database.
+ One of SECRETS.
+ type: string
+ clientPasswordAuthType:
+ description: The type of authentication the proxy uses for
+ connections from clients. Valid values are MYSQL_NATIVE_PASSWORD,
+ POSTGRES_SCRAM_SHA_256, POSTGRES_MD5, and SQL_SERVER_AUTHENTICATION.
+ type: string
+ description:
+ description: A user-specified description about the authentication
+ used by a proxy to log in as a specific database user.
+ type: string
+ iamAuth:
+ description: Whether to require or disallow AWS Identity
+ and Access Management (IAM) authentication for connections
+ to the proxy. One of DISABLED, REQUIRED.
+ type: string
+ secretArn:
+ description: The Amazon Resource Name (ARN) representing
+ the secret that the proxy uses to authenticate to the
+ RDS DB instance or Aurora DB cluster. These secrets are
+ stored within Amazon Secrets Manager.
+ type: string
+ username:
+ description: The name of the database user to which the
+ proxy connects.
+ type: string
+ type: object
+ type: array
+ debugLogging:
+ description: Whether the proxy includes detailed information about
+ SQL statements in its logs. This information helps you to debug
+ issues involving SQL behavior or the performance and scalability
+ of the proxy connections. The debug information includes the
+ text of SQL statements that you submit through the proxy. Thus,
+ only enable this setting when needed for debugging, and only
+ when you have security measures in place to safeguard any sensitive
+ information that appears in the logs.
+ type: boolean
+ engineFamily:
+ description: The kinds of databases that the proxy can connect
+ to. This value determines which database network protocol the
+ proxy recognizes when it interprets network traffic to and from
+ the database. The engine family applies to MySQL and PostgreSQL
+ for both RDS and Aurora. Valid values are MYSQL and POSTGRESQL.
+ type: string
+ idleClientTimeout:
+ description: The number of seconds that a connection to the proxy
+ can be inactive before the proxy disconnects it. You can set
+ this value higher or lower than the connection timeout limit
+ for the associated database.
+ type: number
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ requireTls:
+ description: A Boolean parameter that specifies whether Transport
+ Layer Security (TLS) encryption is required for connections
+ to the proxy. By enabling this setting, you can enforce encrypted
+ TLS connections to the proxy.
+ type: boolean
+ roleArn:
+ description: The Amazon Resource Name (ARN) of the IAM role that
+ the proxy uses to access secrets in AWS Secrets Manager.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ vpcSecurityGroupIds:
+ description: One or more VPC security group IDs to associate with
+ the new proxy.
+ items:
+ type: string
+ type: array
+ vpcSubnetIds:
+ description: One or more VPC subnet IDs to associate with the
+ new proxy.
+ items:
+ type: string
+ type: array
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: auth is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.auth)
+ - message: engineFamily is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.engineFamily)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ - message: roleArn is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.roleArn)
+ - message: vpcSubnetIds is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.vpcSubnetIds)
+ status:
+ description: ProxyStatus defines the observed state of Proxy.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: The Amazon Resource Name (ARN) for the proxy.
+ type: string
+ auth:
+ description: Configuration block(s) with authorization mechanisms
+ to connect to the associated instances or clusters. Described
+ below.
+ items:
+ properties:
+ authScheme:
+ description: The type of authentication that the proxy uses
+ for connections from the proxy to the underlying database.
+ One of SECRETS.
+ type: string
+ clientPasswordAuthType:
+ description: The type of authentication the proxy uses for
+ connections from clients. Valid values are MYSQL_NATIVE_PASSWORD,
+ POSTGRES_SCRAM_SHA_256, POSTGRES_MD5, and SQL_SERVER_AUTHENTICATION.
+ type: string
+ description:
+ description: A user-specified description about the authentication
+ used by a proxy to log in as a specific database user.
+ type: string
+ iamAuth:
+ description: Whether to require or disallow AWS Identity
+ and Access Management (IAM) authentication for connections
+ to the proxy. One of DISABLED, REQUIRED.
+ type: string
+ secretArn:
+ description: The Amazon Resource Name (ARN) representing
+ the secret that the proxy uses to authenticate to the
+ RDS DB instance or Aurora DB cluster. These secrets are
+ stored within Amazon Secrets Manager.
+ type: string
+ username:
+ description: The name of the database user to which the
+ proxy connects.
+ type: string
+ type: object
+ type: array
+ debugLogging:
+ description: Whether the proxy includes detailed information about
+ SQL statements in its logs. This information helps you to debug
+ issues involving SQL behavior or the performance and scalability
+ of the proxy connections. The debug information includes the
+ text of SQL statements that you submit through the proxy. Thus,
+ only enable this setting when needed for debugging, and only
+ when you have security measures in place to safeguard any sensitive
+ information that appears in the logs.
+ type: boolean
+ endpoint:
+ description: The endpoint that you can use to connect to the proxy.
+ You include the endpoint value in the connection string for
+ a database client application.
+ type: string
+ engineFamily:
+ description: The kinds of databases that the proxy can connect
+ to. This value determines which database network protocol the
+ proxy recognizes when it interprets network traffic to and from
+ the database. The engine family applies to MySQL and PostgreSQL
+ for both RDS and Aurora. Valid values are MYSQL and POSTGRESQL.
+ type: string
+ id:
+ description: The Amazon Resource Name (ARN) for the proxy.
+ type: string
+ idleClientTimeout:
+ description: The number of seconds that a connection to the proxy
+ can be inactive before the proxy disconnects it. You can set
+ this value higher or lower than the connection timeout limit
+ for the associated database.
+ type: number
+ requireTls:
+ description: A Boolean parameter that specifies whether Transport
+ Layer Security (TLS) encryption is required for connections
+ to the proxy. By enabling this setting, you can enforce encrypted
+ TLS connections to the proxy.
+ type: boolean
+ roleArn:
+ description: The Amazon Resource Name (ARN) of the IAM role that
+ the proxy uses to access secrets in AWS Secrets Manager.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ vpcSecurityGroupIds:
+ description: One or more VPC security group IDs to associate with
+ the new proxy.
+ items:
+ type: string
+ type: array
+ vpcSubnetIds:
+ description: One or more VPC subnet IDs to associate with the
+ new proxy.
+ items:
+ type: string
+ type: array
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxydefaulttargetgroups.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxydefaulttargetgroups.yaml
new file mode 100644
index 000000000..e15b48415
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxydefaulttargetgroups.yaml
@@ -0,0 +1,434 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: proxydefaulttargetgroups.rds.aws.kubedb.com
+spec:
+ group: rds.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: ProxyDefaultTargetGroup
+ listKind: ProxyDefaultTargetGroupList
+ plural: proxydefaulttargetgroups
+ singular: proxydefaulttargetgroup
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ProxyDefaultTargetGroup is the Schema for the ProxyDefaultTargetGroups
+ API. Manage an RDS DB proxy default target group resource.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ProxyDefaultTargetGroupSpec defines the desired state of
+ ProxyDefaultTargetGroup
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ connectionPoolConfig:
+ description: The settings that determine the size and behavior
+ of the connection pool for the target group.
+ items:
+ properties:
+ connectionBorrowTimeout:
+ description: The number of seconds for a proxy to wait for
+ a connection to become available in the connection pool.
+ Only applies when the proxy has opened its maximum number
+ of connections and all connections are busy with client
+ sessions.
+ type: number
+ initQuery:
+ description: One or more SQL statements for the proxy to
+ run when opening each new database connection. Typically
+ used with SET statements to make sure that each connection
+ has identical settings such as time zone and character
+ set. This setting is empty by default. For multiple statements,
+ use semicolons as the separator. You can also include
+ multiple variables in a single SET statement, such as
+ SET x=1, y=2.
+ type: string
+ maxConnectionsPercent:
+ description: The maximum size of the connection pool for
+ each target in a target group. For Aurora MySQL, it is
+ expressed as a percentage of the max_connections setting
+ for the RDS DB instance or Aurora DB cluster used by the
+ target group.
+ type: number
+ maxIdleConnectionsPercent:
+ description: Controls how actively the proxy closes idle
+ database connections in the connection pool. A high value
+ enables the proxy to leave a high percentage of idle connections
+ open. A low value causes the proxy to close idle client
+ connections and return the underlying database connections
+ to the connection pool. For Aurora MySQL, it is expressed
+ as a percentage of the max_connections setting for the
+ RDS DB instance or Aurora DB cluster used by the target
+ group.
+ type: number
+ sessionPinningFilters:
+ description: Each item in the list represents a class of
+ SQL operations that normally cause all later statements
+ in a session using a proxy to be pinned to the same underlying
+ database connection. Including an item in the list exempts
+ that class of SQL operations from the pinning behavior.
+ Currently, the only allowed value is EXCLUDE_VARIABLE_SETS.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ dbProxyName:
+ description: Name of the RDS DB Proxy.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: dbProxyName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.dbProxyName)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: ProxyDefaultTargetGroupStatus defines the observed state
+ of ProxyDefaultTargetGroup.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: The Amazon Resource Name (ARN) representing the target
+ group.
+ type: string
+ connectionPoolConfig:
+ description: The settings that determine the size and behavior
+ of the connection pool for the target group.
+ items:
+ properties:
+ connectionBorrowTimeout:
+ description: The number of seconds for a proxy to wait for
+ a connection to become available in the connection pool.
+ Only applies when the proxy has opened its maximum number
+ of connections and all connections are busy with client
+ sessions.
+ type: number
+ initQuery:
+ description: One or more SQL statements for the proxy to
+ run when opening each new database connection. Typically
+ used with SET statements to make sure that each connection
+ has identical settings such as time zone and character
+ set. This setting is empty by default. For multiple statements,
+ use semicolons as the separator. You can also include
+ multiple variables in a single SET statement, such as
+ SET x=1, y=2.
+ type: string
+ maxConnectionsPercent:
+ description: The maximum size of the connection pool for
+ each target in a target group. For Aurora MySQL, it is
+ expressed as a percentage of the max_connections setting
+ for the RDS DB instance or Aurora DB cluster used by the
+ target group.
+ type: number
+ maxIdleConnectionsPercent:
+ description: Controls how actively the proxy closes idle
+ database connections in the connection pool. A high value
+ enables the proxy to leave a high percentage of idle connections
+ open. A low value causes the proxy to close idle client
+ connections and return the underlying database connections
+ to the connection pool. For Aurora MySQL, it is expressed
+ as a percentage of the max_connections setting for the
+ RDS DB instance or Aurora DB cluster used by the target
+ group.
+ type: number
+ sessionPinningFilters:
+ description: Each item in the list represents a class of
+ SQL operations that normally cause all later statements
+ in a session using a proxy to be pinned to the same underlying
+ database connection. Including an item in the list exempts
+ that class of SQL operations from the pinning behavior.
+ Currently, the only allowed value is EXCLUDE_VARIABLE_SETS.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ dbProxyName:
+ description: Name of the RDS DB Proxy.
+ type: string
+ id:
+ description: Name of the RDS DB Proxy.
+ type: string
+ name:
+ description: The name of the default target group.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxyendpoints.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxyendpoints.yaml
new file mode 100644
index 000000000..727fa9129
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxyendpoints.yaml
@@ -0,0 +1,393 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: proxyendpoints.rds.aws.kubedb.com
+spec:
+ group: rds.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: ProxyEndpoint
+ listKind: ProxyEndpointList
+ plural: proxyendpoints
+ singular: proxyendpoint
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ProxyEndpoint is the Schema for the ProxyEndpoints API. Provides
+ an RDS DB proxy endpoint resource.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ProxyEndpointSpec defines the desired state of ProxyEndpoint
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ dbProxyName:
+ description: The name of the DB proxy associated with the DB proxy
+ endpoint that you create.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the resource.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ type: object
+ targetRole:
+ description: Indicates whether the DB proxy endpoint can be used
+ for read/write or read-only operations. The default is READ_WRITE.
+ Valid values are READ_WRITE and READ_ONLY.
+ type: string
+ vpcSecurityGroupIds:
+ description: One or more VPC security group IDs to associate with
+ the new proxy.
+ items:
+ type: string
+ type: array
+ vpcSubnetIds:
+ description: One or more VPC subnet IDs to associate with the
+ new proxy.
+ items:
+ type: string
+ type: array
+ required:
+ - dbProxyName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ - message: vpcSubnetIds is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.vpcSubnetIds)
+ status:
+ description: ProxyEndpointStatus defines the observed state of ProxyEndpoint.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: The Amazon Resource Name (ARN) for the proxy endpoint.
+ type: string
+ dbProxyName:
+ description: The name of the DB proxy associated with the DB proxy
+ endpoint that you create.
+ type: string
+ endpoint:
+ description: The endpoint that you can use to connect to the proxy.
+ You include the endpoint value in the connection string for
+ a database client application.
+ type: string
+ id:
+ description: The name of the proxy and proxy endpoint separated
+ by /, DB-PROXY-NAME/DB-PROXY-ENDPOINT-NAME.
+ type: string
+ isDefault:
+ description: Indicates whether this endpoint is the default endpoint
+ for the associated DB proxy.
+ type: boolean
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the resource.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ type: object
+ targetRole:
+ description: Indicates whether the DB proxy endpoint can be used
+ for read/write or read-only operations. The default is READ_WRITE.
+ Valid values are READ_WRITE and READ_ONLY.
+ type: string
+ vpcId:
+ description: The VPC ID of the DB proxy endpoint.
+ type: string
+ vpcSecurityGroupIds:
+ description: One or more VPC security group IDs to associate with
+ the new proxy.
+ items:
+ type: string
+ type: array
+ vpcSubnetIds:
+ description: One or more VPC subnet IDs to associate with the
+ new proxy.
+ items:
+ type: string
+ type: array
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxytargets.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxytargets.yaml
new file mode 100644
index 000000000..bff2fc106
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxytargets.yaml
@@ -0,0 +1,367 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: proxytargets.rds.aws.kubedb.com
+spec:
+ group: rds.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: ProxyTarget
+ listKind: ProxyTargetList
+ plural: proxytargets
+ singular: proxytarget
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ProxyTarget is the Schema for the ProxyTargets API. Provides
+ an RDS DB proxy target resource.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ProxyTargetSpec defines the desired state of ProxyTarget
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ dbClusterIdentifier:
+ description: DB cluster identifier.
+ type: string
+ dbInstanceIdentifier:
+ description: DB instance identifier.
+ type: string
+ dbProxyName:
+ description: The name of the DB proxy.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ targetGroupName:
+ description: The name of the target group.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: dbProxyName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.dbProxyName)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ - message: targetGroupName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.targetGroupName)
+ status:
+ description: ProxyTargetStatus defines the observed state of ProxyTarget.
+ properties:
+ atProvider:
+ properties:
+ dbClusterIdentifier:
+ description: DB cluster identifier.
+ type: string
+ dbInstanceIdentifier:
+ description: DB instance identifier.
+ type: string
+ dbProxyName:
+ description: The name of the DB proxy.
+ type: string
+ endpoint:
+ description: Hostname for the target RDS DB Instance. Only returned
+ for RDS_INSTANCE type.
+ type: string
+ id:
+ description: Identifier of db_proxy_name, target_group_name,
+ target type (e.g., RDS_INSTANCE or TRACKED_CLUSTER), and resource
+ identifier separated by forward slashes (/).
+ type: string
+ port:
+ description: Port for the target RDS DB Instance or Aurora DB
+ Cluster.
+ type: number
+ rdsResourceId:
+ description: Identifier representing the DB Instance or DB Cluster
+ target.
+ type: string
+ targetArn:
+ description: Amazon Resource Name (ARN) for the DB instance or
+ DB cluster. Currently not returned by the RDS API.
+ type: string
+ targetGroupName:
+ description: The name of the target group.
+ type: string
+ trackedClusterId:
+ description: DB Cluster identifier for the DB Instance target.
+ Not returned unless manually importing an RDS_INSTANCE target
+ that is part of a DB Cluster.
+ type: string
+ type:
+ description: Type of targetE.g., RDS_INSTANCE or TRACKED_CLUSTER
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_snapshots.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_snapshots.yaml
new file mode 100644
index 000000000..6a3c6e0c1
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_snapshots.yaml
@@ -0,0 +1,417 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: snapshots.rds.aws.kubedb.com
+spec:
+ group: rds.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: Snapshot
+ listKind: SnapshotList
+ plural: snapshots
+ singular: snapshot
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Snapshot is the Schema for the Snapshots API. Manages an RDS
+ database instance snapshot.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SnapshotSpec defines the desired state of Snapshot
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ dbInstanceIdentifier:
+ description: The DB Instance Identifier from which to take the
+ snapshot.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ sharedAccounts:
+ description: List of AWS Account ids to share snapshot with, use
+ all to make snaphot public.
+ items:
+ type: string
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: Key-value map of resource tags. If configured with
+ a provider default_tags configuration block present, tags with
+ matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: dbInstanceIdentifier is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.dbInstanceIdentifier)
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ status:
+ description: SnapshotStatus defines the observed state of Snapshot.
+ properties:
+ atProvider:
+ properties:
+ allocatedStorage:
+ description: Specifies the allocated storage size in gigabytes
+ (GB).
+ type: number
+ availabilityZone:
+ description: Specifies the name of the Availability Zone the DB
+ instance was located in at the time of the DB snapshot.
+ type: string
+ dbInstanceIdentifier:
+ description: The DB Instance Identifier from which to take the
+ snapshot.
+ type: string
+ dbSnapshotArn:
+ description: The Amazon Resource Name (ARN) for the DB snapshot.
+ type: string
+ encrypted:
+ description: Specifies whether the DB snapshot is encrypted.
+ type: boolean
+ engine:
+ description: Specifies the name of the database engine.
+ type: string
+ engineVersion:
+ description: Specifies the version of the database engine.
+ type: string
+ id:
+ type: string
+ iops:
+ description: Specifies the Provisioned IOPS (I/O operations per
+ second) value of the DB instance at the time of the snapshot.
+ type: number
+ kmsKeyId:
+ description: The ARN for the KMS encryption key.
+ type: string
+ licenseModel:
+ description: License model information for the restored DB instance.
+ type: string
+ optionGroupName:
+ description: Provides the option group name for the DB snapshot.
+ type: string
+ port:
+ type: number
+ sharedAccounts:
+ description: List of AWS Account ids to share snapshot with, use
+ all to make snaphot public.
+ items:
+ type: string
+ type: array
+ snapshotType:
+ type: string
+ sourceDbSnapshotIdentifier:
+ description: The DB snapshot Arn that the DB snapshot was copied
+ from. It only has value in case of cross customer or cross region
+ copy.
+ type: string
+ sourceRegion:
+ description: The region that the DB snapshot was created in or
+ copied from.
+ type: string
+ status:
+ description: Specifies the status of this DB snapshot.
+ type: string
+ storageType:
+ description: Specifies the storage type associated with DB snapshot.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: Key-value map of resource tags. If configured with
+ a provider default_tags configuration block present, tags with
+ matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ vpcId:
+ description: Provides the VPC ID associated with the DB snapshot.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_subnetgroups.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_subnetgroups.yaml
new file mode 100644
index 000000000..8197cf8d9
--- /dev/null
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_subnetgroups.yaml
@@ -0,0 +1,370 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: subnetgroups.rds.aws.kubedb.com
+spec:
+ group: rds.aws.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - aws
+ kind: SubnetGroup
+ listKind: SubnetGroupList
+ plural: subnetgroups
+ singular: subnetgroup
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: SubnetGroup is the Schema for the SubnetGroups API. Provides
+ an RDS DB subnet group resource.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SubnetGroupSpec defines the desired state of SubnetGroup
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ description:
+ description: The description of the DB subnet group.
+ type: string
+ region:
+ description: Region is the region you'd like your resource to
+ be created in.
+ type: string
+ subnetIds:
+ description: A list of VPC subnet IDs.
+ items:
+ type: string
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
+ - message: subnetIds is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.subnetIds)
+ status:
+ description: SubnetGroupStatus defines the observed state of SubnetGroup.
+ properties:
+ atProvider:
+ properties:
+ arn:
+ description: The ARN of the db subnet group.
+ type: string
+ description:
+ description: The description of the DB subnet group.
+ type: string
+ id:
+ description: The db subnet group name.
+ type: string
+ subnetIds:
+ description: A list of VPC subnet IDs.
+ items:
+ type: string
+ type: array
+ supportedNetworkTypes:
+ description: The network type of the db subnet group.
+ items:
+ type: string
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: A map of tags to assign to the resource. If configured
+ with a provider default_tags configuration block present, tags
+ with matching keys will overwrite those defined at the provider-level.
+ type: object
+ tagsAll:
+ additionalProperties:
+ type: string
+ description: A map of tags assigned to the resource, including
+ those inherited from the provider default_tags configuration
+ block.
+ type: object
+ vpcId:
+ description: Provides the VPC ID of the DB subnet group.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-aws/doc.yaml b/charts/kubedb-provider-aws/doc.yaml
new file mode 100644
index 000000000..cf2da3321
--- /dev/null
+++ b/charts/kubedb-provider-aws/doc.yaml
@@ -0,0 +1,18 @@
+project:
+ name: KubeDB AWS Provider for Crossplane
+ shortName: KubeDB AWS Provider
+ url: https://github.com/kubedb/provider-aws
+ description: KubeDB AWS provider for Crossplane
+ app: a KubeDB AWS provider
+repository:
+ url: https://charts.appscode.com/stable/
+ name: appscode
+chart:
+ name: kubedb-provider-aws
+ values: -- generate from values file --
+ valuesExample: -- generate from values file --
+prerequisites:
+- Kubernetes 1.21+
+release:
+ name: kubedb-provider-aws
+ namespace: crossplane-system
\ No newline at end of file
diff --git a/charts/kubedb-provider-aws/templates/NOTES.txt b/charts/kubedb-provider-aws/templates/NOTES.txt
new file mode 100644
index 000000000..570632a2f
--- /dev/null
+++ b/charts/kubedb-provider-aws/templates/NOTES.txt
@@ -0,0 +1,3 @@
+To verify that Supervisor has started, run:
+
+ kubectl get deployment --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "kubedb-provider-aws.name" . }},app.kubernetes.io/instance={{ .Release.Name }}"
diff --git a/charts/kubedb-provider-aws/templates/_helpers.tpl b/charts/kubedb-provider-aws/templates/_helpers.tpl
new file mode 100644
index 000000000..6e0da78f5
--- /dev/null
+++ b/charts/kubedb-provider-aws/templates/_helpers.tpl
@@ -0,0 +1,107 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "kubedb-provider-aws.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
+{{- end }}
+
+{{/*
+Create a default fully qualified app name.
+We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
+If release name contains chart name it will be used as a full name.
+*/}}
+{{- define "kubedb-provider-aws.fullname" -}}
+{{- if .Values.fullnameOverride }}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
+{{- else }}
+{{- $name := default .Chart.Name .Values.nameOverride }}
+{{- if contains $name .Release.Name }}
+{{- .Release.Name | trunc 63 | trimSuffix "-" }}
+{{- else }}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
+{{- end }}
+{{- end }}
+{{- end }}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "kubedb-provider-aws.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
+{{- end }}
+
+{{/*
+Common labels
+*/}}
+{{- define "kubedb-provider-aws.labels" -}}
+helm.sh/chart: {{ include "kubedb-provider-aws.chart" . }}
+{{ include "kubedb-provider-aws.selectorLabels" . }}
+{{- if .Chart.AppVersion }}
+app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
+{{- end }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end }}
+
+{{/*
+Selector labels
+*/}}
+{{- define "kubedb-provider-aws.selectorLabels" -}}
+app.kubernetes.io/name: {{ include "kubedb-provider-aws.name" . }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+{{- end }}
+
+{{/*
+Create the name of the service account to use
+*/}}
+{{- define "kubedb-provider-aws.serviceAccountName" -}}
+{{- if .Values.serviceAccount.create }}
+{{- default (include "kubedb-provider-aws.fullname" .) .Values.serviceAccount.name }}
+{{- else }}
+{{- default "default" .Values.serviceAccount.name }}
+{{- end }}
+{{- end }}
+
+{{/*
+Returns the appscode license
+*/}}
+{{- define "appscode.license" -}}
+{{- .Values.license }}
+{{- end }}
+
+{{/*
+Returns the registry used for operator docker image
+*/}}
+{{- define "image.registry" -}}
+{{- list .Values.registryFQDN .Values.image.registry | compact | join "/" }}
+{{- end }}
+
+{{- define "appscode.imagePullSecrets" -}}
+{{- with .Values.imagePullSecrets -}}
+imagePullSecrets:
+{{- toYaml . | nindent 2 }}
+{{- end }}
+{{- end }}
+
+{{/*
+Returns the enabled monitoring agent name
+*/}}
+{{- define "monitoring.agent" -}}
+{{- .Values.monitoring.agent }}
+{{- end }}
+
+{{/*
+Returns whether the ServiceMonitor will be labeled with custom label
+*/}}
+{{- define "monitoring.apply-servicemonitor-label" -}}
+{{- ternary "false" "true" ( empty .Values.monitoring.serviceMonitor.labels ) -}}
+{{- end }}
+
+{{/*
+Returns the ServiceMonitor labels
+*/}}
+{{- define "monitoring.servicemonitor-label" -}}
+{{- range $key, $val := .Values.monitoring.serviceMonitor.labels }}
+{{ $key }}: {{ $val }}
+{{- end }}
+{{- end }}
diff --git a/charts/kubedb-provider-aws/templates/cluster-role-binding.yaml b/charts/kubedb-provider-aws/templates/cluster-role-binding.yaml
new file mode 100644
index 000000000..c4c151d34
--- /dev/null
+++ b/charts/kubedb-provider-aws/templates/cluster-role-binding.yaml
@@ -0,0 +1,14 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: {{ include "kubedb-provider-aws.fullname" . }}
+ labels:
+ {{- include "kubedb-provider-aws.labels" . | nindent 4 }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: {{ include "kubedb-provider-aws.fullname" . }}
+subjects:
+- kind: ServiceAccount
+ name: {{ include "kubedb-provider-aws.fullname" . }}
+ namespace: {{ .Release.Namespace }}
diff --git a/charts/kubedb-provider-aws/templates/cluster-role.yaml b/charts/kubedb-provider-aws/templates/cluster-role.yaml
new file mode 100644
index 000000000..000bd78f3
--- /dev/null
+++ b/charts/kubedb-provider-aws/templates/cluster-role.yaml
@@ -0,0 +1,40 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: {{ include "kubedb-provider-aws.fullname" . }}
+ labels:
+ {{- include "kubedb-provider-aws.labels" . | nindent 4 }}
+rules:
+- apiGroups:
+ - aws.kubedb.com
+ - docdb.aws.kubedb.com
+ - dynamodb.aws.kubedb.com
+ - ec2.aws.kubedb.com
+ - elasticache.aws.kubedb.com
+ - elasticsearch.aws.kubedb.com
+ - kafka.aws.kubedb.com
+ - kinesis.aws.kubedb.com
+ - kms.aws.kubedb.com
+ - memorydb.aws.kubedb.com
+ - rds.aws.kubedb.com
+ resources: ["*"]
+ verbs: ["*"]
+- apiGroups:
+ - apiextensions.k8s.io
+ resources:
+ - customresourcedefinitions
+ verbs: ["*"]
+- apiGroups: [""]
+ resources:
+ - nodes
+ - secrets
+ verbs: ["list","watch","get"]
+- apiGroups: [""]
+ resources:
+ - serviceaccounts
+ verbs: ["create", "get", "patch", "list", "watch"]
+- apiGroups:
+ - ""
+ resources:
+ - events
+ verbs: ["*"]
\ No newline at end of file
diff --git a/charts/kubedb-provider-aws/templates/deployment.yaml b/charts/kubedb-provider-aws/templates/deployment.yaml
new file mode 100644
index 000000000..0b2cc6fad
--- /dev/null
+++ b/charts/kubedb-provider-aws/templates/deployment.yaml
@@ -0,0 +1,68 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "kubedb-provider-aws.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "kubedb-provider-aws.labels" . | nindent 4 }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ {{- include "kubedb-provider-aws.selectorLabels" . | nindent 6 }}
+ template:
+ metadata:
+ {{- with .Values.podAnnotations }}
+ annotations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ labels:
+ {{- include "kubedb-provider-aws.selectorLabels" . | nindent 8 }}
+ spec:
+ {{- include "appscode.imagePullSecrets" . | nindent 6 }}
+ serviceAccountName: {{ include "kubedb-provider-aws.serviceAccountName" . }}
+ securityContext:
+ {{- toYaml .Values.podSecurityContext | nindent 8 }}
+ containers:
+ - name: {{ .Chart.Name }}
+ securityContext:
+ {{- toYaml .Values.image.securityContext | nindent 12 }}
+ image: {{ include "image.registry" . }}/{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}
+ imagePullPolicy: {{ .Values.imagePullPolicy }}
+ args:
+ - --debug
+ ports:
+ - containerPort: 8080
+ name: metrics
+ protocol: TCP
+ - containerPort: 9443
+ name: webhook
+ protocol: TCP
+ # livenessProbe:
+ # httpGet:
+ # path: /healthz
+ # port: http
+ # readinessProbe:
+ # httpGet:
+ # path: /readyz
+ # port: http
+ resources:
+ {{- toYaml .Values.image.resources | nindent 12 }}
+ volumeMounts:
+ - name: tmp
+ mountPath: /tmp
+ volumes:
+ - name: tmp
+ emptyDir: {}
+ {{- with .Values.nodeSelector }}
+ nodeSelector:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.tolerations }}
+ tolerations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
diff --git a/charts/kubedb-provider-aws/templates/provider-config.yaml b/charts/kubedb-provider-aws/templates/provider-config.yaml
new file mode 100644
index 000000000..66df9c404
--- /dev/null
+++ b/charts/kubedb-provider-aws/templates/provider-config.yaml
@@ -0,0 +1,11 @@
+apiVersion: aws.kubedb.com/v1beta1
+kind: ProviderConfig
+metadata:
+ name: {{ include "kubedb-provider-aws.fullname" . }}
+spec:
+ credentials:
+ source: Secret
+ secretRef:
+ namespace: capi-cluster
+ name: {{ .Values.aws.secretName }}
+ key: credential_json
diff --git a/charts/kubedb-provider-aws/templates/service.yaml b/charts/kubedb-provider-aws/templates/service.yaml
new file mode 100644
index 000000000..9c4794537
--- /dev/null
+++ b/charts/kubedb-provider-aws/templates/service.yaml
@@ -0,0 +1,25 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "kubedb-provider-aws.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "kubedb-provider-aws.labels" . | nindent 4 }}
+{{- if eq "prometheus.io/builtin" ( include "monitoring.agent" . ) }}
+ annotations:
+ prometheus.io/scrape: "true"
+ prometheus.io/path: "/metrics"
+ prometheus.io/port: "8443"
+ prometheus.io/scheme: "https"
+{{- end }}
+spec:
+ ports:
+ # Port used to expose admission webhook apiserver
+ - name: metrics
+ port: 8080
+ targetPort: 8080
+ - name: webhook
+ port: 443
+ targetPort: 9443
+ selector:
+ {{- include "kubedb-provider-aws.selectorLabels" . | nindent 4 }}
diff --git a/charts/kubedb-provider-aws/templates/serviceaccount.yaml b/charts/kubedb-provider-aws/templates/serviceaccount.yaml
new file mode 100644
index 000000000..3b1a19e41
--- /dev/null
+++ b/charts/kubedb-provider-aws/templates/serviceaccount.yaml
@@ -0,0 +1,13 @@
+{{- if .Values.serviceAccount.create -}}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: {{ include "kubedb-provider-aws.serviceAccountName" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "kubedb-provider-aws.labels" . | nindent 4 }}
+ {{- with .Values.serviceAccount.annotations }}
+ annotations:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+{{- end }}
diff --git a/charts/kubedb-provider-aws/templates/servicemonitor.yaml b/charts/kubedb-provider-aws/templates/servicemonitor.yaml
new file mode 100644
index 000000000..14f4269bd
--- /dev/null
+++ b/charts/kubedb-provider-aws/templates/servicemonitor.yaml
@@ -0,0 +1,30 @@
+{{- if eq "prometheus.io/operator" ( include "monitoring.agent" . ) }}
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+ name: {{ include "kubedb-provider-aws.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- if eq "true" ( include "monitoring.apply-servicemonitor-label" . ) }}
+ {{- include "monitoring.servicemonitor-label" . | nindent 4 }}
+ {{- else }}
+ {{- include "kubedb-provider-aws.selectorLabels" . | nindent 4 }}
+ {{- end }}
+spec:
+ namespaceSelector:
+ matchNames:
+ - {{ .Release.Namespace }}
+ selector:
+ matchLabels:
+ {{- include "kubedb-provider-aws.selectorLabels" . | nindent 6 }}
+ endpoints:
+ - port: api
+ bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+ scheme: https
+ tlsConfig:
+ ca:
+ secret:
+ name: {{ include "kubedb-provider-aws.fullname" . }}-apiserver-cert
+ key: tls.crt
+ serverName: "{{ include "kubedb-provider-aws.fullname" . }}.{{ .Release.Namespace }}.svc"
+{{- end }}
diff --git a/charts/kubedb-provider-aws/values.openapiv3_schema.yaml b/charts/kubedb-provider-aws/values.openapiv3_schema.yaml
new file mode 100644
index 000000000..cb2362762
--- /dev/null
+++ b/charts/kubedb-provider-aws/values.openapiv3_schema.yaml
@@ -0,0 +1,1196 @@
+properties:
+ affinity:
+ description: If specified, the pod's scheduling constraints
+ properties:
+ nodeAffinity:
+ description: Describes node affinity scheduling rules for the pod.
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ description: The scheduler will prefer to schedule pods to nodes that
+ satisfy the affinity expressions specified by this field, but it may
+ choose a node that violates one or more of the expressions. The node
+ that is most preferred is the one with the greatest sum of weights,
+ i.e. for each node that meets all of the scheduling requirements (resource
+ request, requiredDuringScheduling affinity expressions, etc.), compute
+ a sum by iterating through the elements of this field and adding "weight"
+ to the sum if the node matches the corresponding matchExpressions; the
+ node(s) with the highest sum are the most preferred.
+ items:
+ description: An empty preferred scheduling term matches all objects
+ with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling
+ term matches no objects (i.e. is also a no-op).
+ properties:
+ preference:
+ description: A node selector term, associated with the corresponding
+ weight.
+ properties:
+ matchExpressions:
+ description: A list of node selector requirements by node's
+ labels.
+ items:
+ description: A node selector requirement is a selector that
+ contains values, a key, and an operator that relates the
+ key and values.
+ properties:
+ key:
+ description: The label key that the selector applies to.
+ type: string
+ operator:
+ description: Represents a key's relationship to a set
+ of values. Valid operators are In, NotIn, Exists, DoesNotExist.
+ Gt, and Lt.
+ type: string
+ values:
+ description: 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. If the operator is Gt or Lt, the
+ values array must have a single element, which will
+ be interpreted as an integer. This array is replaced
+ during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchFields:
+ description: A list of node selector requirements by node's
+ fields.
+ items:
+ description: A node selector requirement is a selector that
+ contains values, a key, and an operator that relates the
+ key and values.
+ properties:
+ key:
+ description: The label key that the selector applies to.
+ type: string
+ operator:
+ description: Represents a key's relationship to a set
+ of values. Valid operators are In, NotIn, Exists, DoesNotExist.
+ Gt, and Lt.
+ type: string
+ values:
+ description: 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. If the operator is Gt or Lt, the
+ values array must have a single element, which will
+ be interpreted as an integer. This array is replaced
+ during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ type: object
+ x-kubernetes-map-type: atomic
+ weight:
+ description: Weight associated with matching the corresponding nodeSelectorTerm,
+ in the range 1-100.
+ format: int32
+ type: integer
+ required:
+ - preference
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ description: If the affinity requirements specified by this field are
+ not met at scheduling time, the pod will not be scheduled onto the node.
+ If the affinity requirements specified by this field cease to be met
+ at some point during pod execution (e.g. due to an update), the system
+ may or may not try to eventually evict the pod from its node.
+ properties:
+ nodeSelectorTerms:
+ description: Required. A list of node selector terms. The terms are
+ ORed.
+ items:
+ description: A null or empty node selector term matches no objects.
+ The requirements of them are ANDed. The TopologySelectorTerm type
+ implements a subset of the NodeSelectorTerm.
+ properties:
+ matchExpressions:
+ description: A list of node selector requirements by node's
+ labels.
+ items:
+ description: A node selector requirement is a selector that
+ contains values, a key, and an operator that relates the
+ key and values.
+ properties:
+ key:
+ description: The label key that the selector applies to.
+ type: string
+ operator:
+ description: Represents a key's relationship to a set
+ of values. Valid operators are In, NotIn, Exists, DoesNotExist.
+ Gt, and Lt.
+ type: string
+ values:
+ description: 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. If the operator is Gt or Lt, the
+ values array must have a single element, which will
+ be interpreted as an integer. This array is replaced
+ during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchFields:
+ description: A list of node selector requirements by node's
+ fields.
+ items:
+ description: A node selector requirement is a selector that
+ contains values, a key, and an operator that relates the
+ key and values.
+ properties:
+ key:
+ description: The label key that the selector applies to.
+ type: string
+ operator:
+ description: Represents a key's relationship to a set
+ of values. Valid operators are In, NotIn, Exists, DoesNotExist.
+ Gt, and Lt.
+ type: string
+ values:
+ description: 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. If the operator is Gt or Lt, the
+ values array must have a single element, which will
+ be interpreted as an integer. This array is replaced
+ during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ type: object
+ x-kubernetes-map-type: atomic
+ type: array
+ required:
+ - nodeSelectorTerms
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ podAffinity:
+ description: Describes pod affinity scheduling rules (e.g. co-locate this
+ pod in the same node, zone, etc. as some other pod(s)).
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ description: The scheduler will prefer to schedule pods to nodes that
+ satisfy the affinity expressions specified by this field, but it may
+ choose a node that violates one or more of the expressions. The node
+ that is most preferred is the one with the greatest sum of weights,
+ i.e. for each node that meets all of the scheduling requirements (resource
+ request, requiredDuringScheduling affinity expressions, etc.), compute
+ a sum by iterating through the elements of this field and adding "weight"
+ to the sum if the node has pods which matches the corresponding podAffinityTerm;
+ the node(s) with the highest sum are the most preferred.
+ items:
+ description: The weights of all of the matched WeightedPodAffinityTerm
+ fields are added per-node to find the most preferred node(s)
+ properties:
+ podAffinityTerm:
+ description: Required. A pod affinity term, associated with the
+ corresponding weight.
+ properties:
+ labelSelector:
+ description: A label query over a set of resources, in this
+ case pods.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaceSelector:
+ description: A label query over the set of namespaces that the
+ term applies to. The term is applied to the union of the namespaces
+ selected by this field and the ones listed in the namespaces
+ field. null selector and null or empty namespaces list means
+ "this pod's namespace". An empty selector ({}) matches all
+ namespaces.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaces:
+ description: namespaces specifies a static list of namespace
+ names that the term applies to. The term is applied to the
+ union of the namespaces listed in this field and the ones
+ selected by namespaceSelector. null or empty namespaces list
+ and null namespaceSelector means "this pod's namespace".
+ items:
+ type: string
+ type: array
+ topologyKey:
+ description: This pod should be co-located (affinity) or not
+ co-located (anti-affinity) with the pods matching the labelSelector
+ in the specified namespaces, where co-located is defined as
+ running on a node whose value of the label with key topologyKey
+ matches that of any node on which any of the selected pods
+ is running. Empty topologyKey is not allowed.
+ type: string
+ required:
+ - topologyKey
+ type: object
+ weight:
+ description: weight associated with matching the corresponding podAffinityTerm,
+ in the range 1-100.
+ format: int32
+ type: integer
+ required:
+ - podAffinityTerm
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ description: If the affinity requirements specified by this field are
+ not met at scheduling time, the pod will not be scheduled onto the node.
+ If the affinity requirements specified by this field cease to be met
+ at some point during pod execution (e.g. due to a pod label update),
+ the system may or may not try to eventually evict the pod from its node.
+ When there are multiple elements, the lists of nodes corresponding to
+ each podAffinityTerm are intersected, i.e. all terms must be satisfied.
+ items:
+ description: Defines a set of pods (namely those matching the labelSelector
+ relative to the given namespace(s)) that this pod should be co-located
+ (affinity) or not co-located (anti-affinity) with, where co-located
+ is defined as running on a node whose value of the label with key
+ matches that of any node on which a pod of the set of
+ pods is running
+ properties:
+ labelSelector:
+ description: A label query over a set of resources, in this case
+ pods.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaceSelector:
+ description: A label query over the set of namespaces that the term
+ applies to. The term is applied to the union of the namespaces
+ selected by this field and the ones listed in the namespaces field.
+ null selector and null or empty namespaces list means "this pod's
+ namespace". An empty selector ({}) matches all namespaces.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaces:
+ description: namespaces specifies a static list of namespace names
+ that the term applies to. The term is applied to the union of
+ the namespaces listed in this field and the ones selected by namespaceSelector.
+ null or empty namespaces list and null namespaceSelector means
+ "this pod's namespace".
+ items:
+ type: string
+ type: array
+ topologyKey:
+ description: This pod should be co-located (affinity) or not co-located
+ (anti-affinity) with the pods matching the labelSelector in the
+ specified namespaces, where co-located is defined as running on
+ a node whose value of the label with key topologyKey matches that
+ of any node on which any of the selected pods is running. Empty
+ topologyKey is not allowed.
+ type: string
+ required:
+ - topologyKey
+ type: object
+ type: array
+ type: object
+ podAntiAffinity:
+ description: Describes pod anti-affinity scheduling rules (e.g. avoid putting
+ this pod in the same node, zone, etc. as some other pod(s)).
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ description: The scheduler will prefer to schedule pods to nodes that
+ satisfy the anti-affinity expressions specified by this field, but it
+ may choose a node that violates one or more of the expressions. The
+ node that is most preferred is the one with the greatest sum of weights,
+ i.e. for each node that meets all of the scheduling requirements (resource
+ request, requiredDuringScheduling anti-affinity expressions, etc.),
+ compute a sum by iterating through the elements of this field and adding
+ "weight" to the sum if the node has pods which matches the corresponding
+ podAffinityTerm; the node(s) with the highest sum are the most preferred.
+ items:
+ description: The weights of all of the matched WeightedPodAffinityTerm
+ fields are added per-node to find the most preferred node(s)
+ properties:
+ podAffinityTerm:
+ description: Required. A pod affinity term, associated with the
+ corresponding weight.
+ properties:
+ labelSelector:
+ description: A label query over a set of resources, in this
+ case pods.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaceSelector:
+ description: A label query over the set of namespaces that the
+ term applies to. The term is applied to the union of the namespaces
+ selected by this field and the ones listed in the namespaces
+ field. null selector and null or empty namespaces list means
+ "this pod's namespace". An empty selector ({}) matches all
+ namespaces.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaces:
+ description: namespaces specifies a static list of namespace
+ names that the term applies to. The term is applied to the
+ union of the namespaces listed in this field and the ones
+ selected by namespaceSelector. null or empty namespaces list
+ and null namespaceSelector means "this pod's namespace".
+ items:
+ type: string
+ type: array
+ topologyKey:
+ description: This pod should be co-located (affinity) or not
+ co-located (anti-affinity) with the pods matching the labelSelector
+ in the specified namespaces, where co-located is defined as
+ running on a node whose value of the label with key topologyKey
+ matches that of any node on which any of the selected pods
+ is running. Empty topologyKey is not allowed.
+ type: string
+ required:
+ - topologyKey
+ type: object
+ weight:
+ description: weight associated with matching the corresponding podAffinityTerm,
+ in the range 1-100.
+ format: int32
+ type: integer
+ required:
+ - podAffinityTerm
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ description: If the anti-affinity requirements specified by this field
+ are not met at scheduling time, the pod will not be scheduled onto the
+ node. If the anti-affinity requirements specified by this field cease
+ to be met at some point during pod execution (e.g. due to a pod label
+ update), the system may or may not try to eventually evict the pod from
+ its node. When there are multiple elements, the lists of nodes corresponding
+ to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
+ items:
+ description: Defines a set of pods (namely those matching the labelSelector
+ relative to the given namespace(s)) that this pod should be co-located
+ (affinity) or not co-located (anti-affinity) with, where co-located
+ is defined as running on a node whose value of the label with key
+ matches that of any node on which a pod of the set of
+ pods is running
+ properties:
+ labelSelector:
+ description: A label query over a set of resources, in this case
+ pods.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaceSelector:
+ description: A label query over the set of namespaces that the term
+ applies to. The term is applied to the union of the namespaces
+ selected by this field and the ones listed in the namespaces field.
+ null selector and null or empty namespaces list means "this pod's
+ namespace". An empty selector ({}) matches all namespaces.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaces:
+ description: namespaces specifies a static list of namespace names
+ that the term applies to. The term is applied to the union of
+ the namespaces listed in this field and the ones selected by namespaceSelector.
+ null or empty namespaces list and null namespaceSelector means
+ "this pod's namespace".
+ items:
+ type: string
+ type: array
+ topologyKey:
+ description: This pod should be co-located (affinity) or not co-located
+ (anti-affinity) with the pods matching the labelSelector in the
+ specified namespaces, where co-located is defined as running on
+ a node whose value of the label with key topologyKey matches that
+ of any node on which any of the selected pods is running. Empty
+ topologyKey is not allowed.
+ type: string
+ required:
+ - topologyKey
+ type: object
+ type: array
+ type: object
+ type: object
+ aws:
+ properties:
+ secretName:
+ type: string
+ required:
+ - secretName
+ type: object
+ fullnameOverride:
+ type: string
+ image:
+ properties:
+ registry:
+ type: string
+ repository:
+ type: string
+ resources:
+ description: Compute Resources required by the sidecar container.
+ properties:
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: 'Limits describes the maximum amount of compute resources
+ allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: 'Requests describes the minimum amount of compute resources
+ required. If Requests is omitted for a container, it defaults to Limits
+ if that is explicitly specified, otherwise to an implementation-defined
+ value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
+ type: object
+ type: object
+ securityContext:
+ description: Security options the pod should run with.
+ properties:
+ allowPrivilegeEscalation:
+ description: 'AllowPrivilegeEscalation controls whether a process can
+ gain more privileges than its parent process. This bool directly controls
+ if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation
+ is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN
+ Note that this field cannot be set when spec.os.name is windows.'
+ type: boolean
+ capabilities:
+ description: The capabilities to add/drop when running containers. Defaults
+ to the default set of capabilities granted by the container runtime.
+ Note that this field cannot be set when spec.os.name is windows.
+ properties:
+ add:
+ description: Added capabilities
+ items:
+ description: Capability represent POSIX capabilities type
+ type: string
+ type: array
+ drop:
+ description: Removed capabilities
+ items:
+ description: Capability represent POSIX capabilities type
+ type: string
+ type: array
+ type: object
+ privileged:
+ description: Run container in privileged mode. Processes in privileged
+ containers are essentially equivalent to root on the host. Defaults
+ to false. Note that this field cannot be set when spec.os.name is windows.
+ type: boolean
+ procMount:
+ description: procMount denotes the type of proc mount to use for the containers.
+ The default is DefaultProcMount which uses the container runtime defaults
+ for readonly paths and masked paths. This requires the ProcMountType
+ feature flag to be enabled. Note that this field cannot be set when
+ spec.os.name is windows.
+ type: string
+ readOnlyRootFilesystem:
+ description: Whether this container has a read-only root filesystem. Default
+ is false. Note that this field cannot be set when spec.os.name is windows.
+ type: boolean
+ runAsGroup:
+ description: The GID to run the entrypoint of the container process. Uses
+ runtime default if unset. May also be set in PodSecurityContext. If
+ set in both SecurityContext and PodSecurityContext, the value specified
+ in SecurityContext takes precedence. Note that this field cannot be
+ set when spec.os.name is windows.
+ format: int64
+ type: integer
+ runAsNonRoot:
+ description: Indicates that the container must run as a non-root user.
+ If true, the Kubelet will validate the image at runtime to ensure that
+ it does not run as UID 0 (root) and fail to start the container if it
+ does. If unset or false, no such validation will be performed. May also
+ be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext,
+ the value specified in SecurityContext takes precedence.
+ type: boolean
+ runAsUser:
+ description: The UID to run the entrypoint of the container process. Defaults
+ to user specified in image metadata if unspecified. May also be set
+ in PodSecurityContext. If set in both SecurityContext and PodSecurityContext,
+ the value specified in SecurityContext takes precedence. Note that this
+ field cannot be set when spec.os.name is windows.
+ format: int64
+ type: integer
+ seLinuxOptions:
+ description: The SELinux context to be applied to the container. If unspecified,
+ the container runtime will allocate a random SELinux context for each
+ container. May also be set in PodSecurityContext. If set in both SecurityContext
+ and PodSecurityContext, the value specified in SecurityContext takes
+ precedence. Note that this field cannot be set when spec.os.name is
+ windows.
+ properties:
+ level:
+ description: Level is SELinux level label that applies to the container.
+ type: string
+ role:
+ description: Role is a SELinux role label that applies to the container.
+ type: string
+ type:
+ description: Type is a SELinux type label that applies to the container.
+ type: string
+ user:
+ description: User is a SELinux user label that applies to the container.
+ type: string
+ type: object
+ seccompProfile:
+ description: The seccomp options to use by this container. If seccomp
+ options are provided at both the pod & container level, the container
+ options override the pod options. Note that this field cannot be set
+ when spec.os.name is windows.
+ properties:
+ localhostProfile:
+ description: localhostProfile indicates a profile defined in a file
+ on the node should be used. The profile must be preconfigured on
+ the node to work. Must be a descending path, relative to the kubelet's
+ configured seccomp profile location. Must only be set if type is
+ "Localhost".
+ type: string
+ type:
+ description: "type indicates which kind of seccomp profile will be\
+ \ applied. Valid options are: \n Localhost - a profile defined in\
+ \ a file on the node should be used. RuntimeDefault - the container\
+ \ runtime default profile should be used. Unconfined - no profile\
+ \ should be applied."
+ type: string
+ required:
+ - type
+ type: object
+ windowsOptions:
+ description: The Windows specific settings applied to all containers.
+ If unspecified, the options from the PodSecurityContext will be used.
+ If set in both SecurityContext and PodSecurityContext, the value specified
+ in SecurityContext takes precedence. Note that this field cannot be
+ set when spec.os.name is linux.
+ properties:
+ gmsaCredentialSpec:
+ description: GMSACredentialSpec is where the GMSA admission webhook
+ (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents
+ of the GMSA credential spec named by the GMSACredentialSpecName
+ field.
+ type: string
+ gmsaCredentialSpecName:
+ description: GMSACredentialSpecName is the name of the GMSA credential
+ spec to use.
+ type: string
+ hostProcess:
+ description: HostProcess determines if a container should be run as
+ a 'Host Process' container. This field is alpha-level and will only
+ be honored by components that enable the WindowsHostProcessContainers
+ feature flag. Setting this field without the feature flag will result
+ in errors when validating the Pod. All of a Pod's containers must
+ have the same effective HostProcess value (it is not allowed to
+ have a mix of HostProcess containers and non-HostProcess containers). In
+ addition, if HostProcess is true then HostNetwork must also be set
+ to true.
+ type: boolean
+ runAsUserName:
+ description: The UserName in Windows to run the entrypoint of the
+ container process. Defaults to the user specified in image metadata
+ if unspecified. May also be set in PodSecurityContext. If set in
+ both SecurityContext and PodSecurityContext, the value specified
+ in SecurityContext takes precedence.
+ type: string
+ type: object
+ type: object
+ tag:
+ type: string
+ required:
+ - registry
+ - repository
+ - tag
+ type: object
+ imagePullPolicy:
+ type: string
+ imagePullSecrets:
+ items:
+ type: string
+ type: array
+ monitoring:
+ properties:
+ agent:
+ enum:
+ - prometheus.io
+ - prometheus.io/operator
+ - prometheus.io/builtin
+ type: string
+ serviceMonitor:
+ properties:
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ required:
+ - agent
+ - serviceMonitor
+ type: object
+ nameOverride:
+ type: string
+ nodeSelector:
+ additionalProperties:
+ type: string
+ type: object
+ podAnnotations:
+ additionalProperties:
+ type: string
+ type: object
+ podSecurityContext:
+ description: 'PodSecurityContext holds pod-level security attributes and common
+ container settings. Optional: Defaults to empty. See type description for default
+ values of each field.'
+ properties:
+ fsGroup:
+ description: "A special supplemental group that applies to all containers\
+ \ in a pod. Some volume types allow the Kubelet to change the ownership\
+ \ of that volume to be owned by the pod: \n 1. The owning GID will be the\
+ \ FSGroup 2. The setgid bit is set (new files created in the volume will\
+ \ be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- \n\
+ \ If unset, the Kubelet will not modify the ownership and permissions of\
+ \ any volume. Note that this field cannot be set when spec.os.name is windows."
+ format: int64
+ type: integer
+ fsGroupChangePolicy:
+ description: 'fsGroupChangePolicy defines behavior of changing ownership and
+ permission of the volume before being exposed inside Pod. This field will
+ only apply to volume types which support fsGroup based ownership(and permissions).
+ It will have no effect on ephemeral volume types such as: secret, configmaps
+ and emptydir. Valid values are "OnRootMismatch" and "Always". If not specified,
+ "Always" is used. Note that this field cannot be set when spec.os.name is
+ windows.'
+ type: string
+ runAsGroup:
+ description: The GID to run the entrypoint of the container process. Uses
+ runtime default if unset. May also be set in SecurityContext. If set in
+ both SecurityContext and PodSecurityContext, the value specified in SecurityContext
+ takes precedence for that container. Note that this field cannot be set
+ when spec.os.name is windows.
+ format: int64
+ type: integer
+ runAsNonRoot:
+ description: Indicates that the container must run as a non-root user. If
+ true, the Kubelet will validate the image at runtime to ensure that it does
+ not run as UID 0 (root) and fail to start the container if it does. If unset
+ or false, no such validation will be performed. May also be set in SecurityContext. If
+ set in both SecurityContext and PodSecurityContext, the value specified
+ in SecurityContext takes precedence.
+ type: boolean
+ runAsUser:
+ description: The UID to run the entrypoint of the container process. Defaults
+ to user specified in image metadata if unspecified. May also be set in SecurityContext. If
+ set in both SecurityContext and PodSecurityContext, the value specified
+ in SecurityContext takes precedence for that container. Note that this field
+ cannot be set when spec.os.name is windows.
+ format: int64
+ type: integer
+ seLinuxOptions:
+ description: The SELinux context to be applied to all containers. If unspecified,
+ the container runtime will allocate a random SELinux context for each container. May
+ also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext,
+ the value specified in SecurityContext takes precedence for that container.
+ Note that this field cannot be set when spec.os.name is windows.
+ properties:
+ level:
+ description: Level is SELinux level label that applies to the container.
+ type: string
+ role:
+ description: Role is a SELinux role label that applies to the container.
+ type: string
+ type:
+ description: Type is a SELinux type label that applies to the container.
+ type: string
+ user:
+ description: User is a SELinux user label that applies to the container.
+ type: string
+ type: object
+ seccompProfile:
+ description: The seccomp options to use by the containers in this pod. Note
+ that this field cannot be set when spec.os.name is windows.
+ properties:
+ localhostProfile:
+ description: localhostProfile indicates a profile defined in a file on
+ the node should be used. The profile must be preconfigured on the node
+ to work. Must be a descending path, relative to the kubelet's configured
+ seccomp profile location. Must only be set if type is "Localhost".
+ type: string
+ type:
+ description: "type indicates which kind of seccomp profile will be applied.\
+ \ Valid options are: \n Localhost - a profile defined in a file on the\
+ \ node should be used. RuntimeDefault - the container runtime default\
+ \ profile should be used. Unconfined - no profile should be applied."
+ type: string
+ required:
+ - type
+ type: object
+ supplementalGroups:
+ description: A list of groups applied to the first process run in each container,
+ in addition to the container's primary GID. If unspecified, no groups will
+ be added to any container. Note that this field cannot be set when spec.os.name
+ is windows.
+ items:
+ format: int64
+ type: integer
+ type: array
+ sysctls:
+ description: Sysctls hold a list of namespaced sysctls used for the pod. Pods
+ with unsupported sysctls (by the container runtime) might fail to launch.
+ Note that this field cannot be set when spec.os.name is windows.
+ items:
+ description: Sysctl defines a kernel parameter to be set
+ properties:
+ name:
+ description: Name of a property to set
+ type: string
+ value:
+ description: Value of a property to set
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ windowsOptions:
+ description: The Windows specific settings applied to all containers. If unspecified,
+ the options within a container's SecurityContext will be used. If set in
+ both SecurityContext and PodSecurityContext, the value specified in SecurityContext
+ takes precedence. Note that this field cannot be set when spec.os.name is
+ linux.
+ properties:
+ gmsaCredentialSpec:
+ description: GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa)
+ inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName
+ field.
+ type: string
+ gmsaCredentialSpecName:
+ description: GMSACredentialSpecName is the name of the GMSA credential
+ spec to use.
+ type: string
+ hostProcess:
+ description: HostProcess determines if a container should be run as a
+ 'Host Process' container. This field is alpha-level and will only be
+ honored by components that enable the WindowsHostProcessContainers feature
+ flag. Setting this field without the feature flag will result in errors
+ when validating the Pod. All of a Pod's containers must have the same
+ effective HostProcess value (it is not allowed to have a mix of HostProcess
+ containers and non-HostProcess containers). In addition, if HostProcess
+ is true then HostNetwork must also be set to true.
+ type: boolean
+ runAsUserName:
+ description: The UserName in Windows to run the entrypoint of the container
+ process. Defaults to the user specified in image metadata if unspecified.
+ May also be set in PodSecurityContext. If set in both SecurityContext
+ and PodSecurityContext, the value specified in SecurityContext takes
+ precedence.
+ type: string
+ type: object
+ type: object
+ registryFQDN:
+ type: string
+ replicaCount:
+ type: integer
+ serviceAccount:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ create:
+ type: boolean
+ name:
+ type: string
+ required:
+ - create
+ type: object
+ tolerations:
+ description: If specified, the pod's tolerations.
+ items:
+ description: The pod this Toleration is attached to tolerates any taint that
+ matches the triple using the matching operator .
+ properties:
+ effect:
+ description: Effect indicates the taint effect to match. Empty means match
+ all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule
+ and NoExecute.
+ type: string
+ key:
+ description: Key is the taint key that the toleration applies to. Empty
+ means match all taint keys. If the key is empty, operator must be Exists;
+ this combination means to match all values and all keys.
+ type: string
+ operator:
+ description: Operator represents a key's relationship to the value. Valid
+ operators are Exists and Equal. Defaults to Equal. Exists is equivalent
+ to wildcard for value, so that a pod can tolerate all taints of a particular
+ category.
+ type: string
+ tolerationSeconds:
+ description: TolerationSeconds represents the period of time the toleration
+ (which must be of effect NoExecute, otherwise this field is ignored) tolerates
+ the taint. By default, it is not set, which means tolerate the taint forever
+ (do not evict). Zero and negative values will be treated as 0 (evict immediately)
+ by the system.
+ format: int64
+ type: integer
+ value:
+ description: Value is the taint value the toleration matches to. If the
+ operator is Exists, the value should be empty, otherwise just a regular
+ string.
+ type: string
+ type: object
+ type: array
+required:
+- aws
+- image
+- imagePullPolicy
+- monitoring
+- registryFQDN
+- replicaCount
+- serviceAccount
+type: object
diff --git a/charts/kubedb-provider-aws/values.yaml b/charts/kubedb-provider-aws/values.yaml
new file mode 100644
index 000000000..2501fe7a1
--- /dev/null
+++ b/charts/kubedb-provider-aws/values.yaml
@@ -0,0 +1,76 @@
+# Default values for kubedb-provider-aws.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+# Overrides name template
+nameOverride: ""
+# Overrides fullname template
+fullnameOverride: ""
+
+replicaCount: 1
+
+# Docker registry fqdn used to pull docker images
+# Set this to use docker registry hosted at ${registryFQDN}/${registry}/${image}
+registryFQDN: ghcr.io
+image:
+ # Docker registry used to pull operator image
+ registry: kubedb
+ # Name of operator container image
+ repository: provider-aws
+ # Overrides the image tag whose default is the chart appVersion.
+ tag: ""
+ # Compute Resources required by the operator container
+ resources: {}
+ # Security options the operator container should run with
+ securityContext: # +doc-gen:break
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop: ["ALL"]
+ readOnlyRootFilesystem: true
+ runAsNonRoot: true
+ runAsUser: 65534
+ seccompProfile:
+ type: RuntimeDefault
+
+# Specify an array of imagePullSecrets.
+# Secrets must be manually created in the namespace.
+#
+# Example:
+# helm template charts/stash \
+# --set imagePullSecrets[0].name=sec0 \
+# --set imagePullSecrets[1].name=sec1
+imagePullSecrets: []
+# Container image pull policy
+imagePullPolicy: Always
+
+serviceAccount:
+ # Specifies whether a service account should be created
+ create: true
+ # Annotations to add to the service account
+ annotations: {}
+ # The name of the service account to use.
+ # If not set and create is true, a name is generated using the fullname template
+ name: ""
+
+podAnnotations: {}
+
+podSecurityContext: {}
+ # fsGroup: 2000
+
+nodeSelector: {}
+
+tolerations: []
+
+affinity: {}
+
+monitoring:
+ # Name of monitoring agent (one of "prometheus.io", "prometheus.io/operator", "prometheus.io/builtin")
+ agent: ""
+ serviceMonitor:
+ # Specify the labels for ServiceMonitor.
+ # Prometheus crd will select ServiceMonitor using these labels.
+ # Only usable when monitoring agent is `prometheus.io/operator`.
+ labels: {}
+
+aws:
+ secretName: "aws-credential"
diff --git a/charts/kubedb-provider-azure/.helmignore b/charts/kubedb-provider-azure/.helmignore
new file mode 100644
index 000000000..e03134ce3
--- /dev/null
+++ b/charts/kubedb-provider-azure/.helmignore
@@ -0,0 +1,23 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.terraform
+*.tfstate*
diff --git a/charts/kubedb-provider-azure/Chart.yaml b/charts/kubedb-provider-azure/Chart.yaml
new file mode 100755
index 000000000..af37cef46
--- /dev/null
+++ b/charts/kubedb-provider-azure/Chart.yaml
@@ -0,0 +1,13 @@
+apiVersion: v2
+name: kubedb-provider-azure
+description: A Helm chart for KubeDB Azure Provider for Crossplane
+type: application
+version: v0.0.1
+appVersion: v0.0.1
+home: https://github.com/kubedb/provider-azure
+icon: https://cdn.appscode.com/images/products/searchlight/icons/android-icon-192x192.png
+sources:
+- https://github.com/kubedb/provider-azure
+maintainers:
+- name: appscode
+ email: support@appscode.com
diff --git a/charts/kubedb-provider-azure/README.md b/charts/kubedb-provider-azure/README.md
new file mode 100644
index 000000000..caa533eea
--- /dev/null
+++ b/charts/kubedb-provider-azure/README.md
@@ -0,0 +1,85 @@
+# KubeDB Azure Provider
+
+[KubeDB Azure Provider for Crossplane](https://github.com/kubedb/provider-azure) - KubeDB Azure provider for Crossplane
+
+## TL;DR;
+
+```bash
+$ helm repo add appscode https://charts.appscode.com/stable/
+$ helm repo update
+$ helm search repo appscode/kubedb-provider-azure --version=v0.0.1
+$ helm upgrade -i kubedb-provider-azure appscode/kubedb-provider-azure -n crossplane-system --create-namespace --version=v0.0.1
+```
+
+## Introduction
+
+This chart deploys a KubeDB Azure provider on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
+
+## Prerequisites
+
+- Kubernetes 1.21+
+
+## Installing the Chart
+
+To install/upgrade the chart with the release name `kubedb-provider-azure`:
+
+```bash
+$ helm upgrade -i kubedb-provider-azure appscode/kubedb-provider-azure -n crossplane-system --create-namespace --version=v0.0.1
+```
+
+The command deploys a KubeDB Azure provider on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation.
+
+> **Tip**: List all releases using `helm list`
+
+## Uninstalling the Chart
+
+To uninstall the `kubedb-provider-azure`:
+
+```bash
+$ helm uninstall kubedb-provider-azure -n crossplane-system
+```
+
+The command removes all the Kubernetes components associated with the chart and deletes the release.
+
+## Configuration
+
+The following table lists the configurable parameters of the `kubedb-provider-azure` chart and their default values.
+
+| Parameter | Description | Default |
+|----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| nameOverride | Overrides name template | ""
|
+| fullnameOverride | Overrides fullname template | ""
|
+| replicaCount | | 1
|
+| registryFQDN | Docker registry fqdn used to pull docker images Set this to use docker registry hosted at ${registryFQDN}/${registry}/${image} | ghcr.io
|
+| image.registry | Docker registry used to pull operator image | kubedb
|
+| image.repository | Name of operator container image | provider-azure
|
+| image.tag | Overrides the image tag whose default is the chart appVersion. | ""
|
+| image.resources | Compute Resources required by the operator container | {}
|
+| image.securityContext | Security options the operator container should run with | {"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsNonRoot":true,"runAsUser":65534,"seccompProfile":{"type":"RuntimeDefault"}}
|
+| imagePullSecrets | Specify an array of imagePullSecrets. Secrets must be manually created in the namespace.
Example:
`helm template charts/stash \`
`--set imagePullSecrets[0].name=sec0 \`
`--set imagePullSecrets[1].name=sec1` | []
|
+| imagePullPolicy | Container image pull policy | Always
|
+| serviceAccount.create | Specifies whether a service account should be created | true
|
+| serviceAccount.annotations | Annotations to add to the service account | {}
|
+| serviceAccount.name | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | ""
|
+| podAnnotations | | {}
|
+| podSecurityContext | | {}
|
+| nodeSelector | | {}
|
+| tolerations | | []
|
+| affinity | | {}
|
+| monitoring.agent | Name of monitoring agent (one of "prometheus.io", "prometheus.io/operator", "prometheus.io/builtin") | ""
|
+| monitoring.serviceMonitor.labels | Specify the labels for ServiceMonitor. Prometheus crd will select ServiceMonitor using these labels. Only usable when monitoring agent is `prometheus.io/operator`. | {}
|
+| azure.secretName | | "azure-credential"
|
+
+
+Specify each parameter using the `--set key=value[,key=value]` argument to `helm upgrade -i`. For example:
+
+```bash
+$ helm upgrade -i kubedb-provider-azure appscode/kubedb-provider-azure -n crossplane-system --create-namespace --version=v0.0.1 --set replicaCount=1
+```
+
+Alternatively, a YAML file that specifies the values for the parameters can be provided while
+installing the chart. For example:
+
+```bash
+$ helm upgrade -i kubedb-provider-azure appscode/kubedb-provider-azure -n crossplane-system --create-namespace --version=v0.0.1 --values values.yaml
+```
diff --git a/charts/kubedb-provider-azure/crds/azure.kubedb.com_providerconfigs.yaml b/charts/kubedb-provider-azure/crds/azure.kubedb.com_providerconfigs.yaml
new file mode 100644
index 000000000..fd64917e5
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/azure.kubedb.com_providerconfigs.yaml
@@ -0,0 +1,152 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: providerconfigs.azure.kubedb.com
+spec:
+ group: azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - provider
+ - azure
+ kind: ProviderConfig
+ listKind: ProviderConfigList
+ plural: providerconfigs
+ singular: providerconfig
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ - jsonPath: .spec.credentials.secretRef.name
+ name: SECRET-NAME
+ priority: 1
+ type: string
+ name: v1beta1
+ schema:
+ openAPIV3Schema:
+ description: A ProviderConfig configures a Azure provider.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: A ProviderConfigSpec defines the desired state of a ProviderConfig.
+ properties:
+ credentials:
+ description: Credentials required to authenticate to this provider.
+ properties:
+ env:
+ description: Env is a reference to an environment variable that
+ contains credentials that must be used to connect to the provider.
+ properties:
+ name:
+ description: Name is the name of an environment variable.
+ type: string
+ required:
+ - name
+ type: object
+ fs:
+ description: Fs is a reference to a filesystem location that contains
+ credentials that must be used to connect to the provider.
+ properties:
+ path:
+ description: Path is a filesystem path.
+ type: string
+ required:
+ - path
+ type: object
+ secretRef:
+ description: A SecretRef is a reference to a secret key that contains
+ the credentials that must be used to connect to the provider.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ source:
+ description: Source of the provider credentials.
+ enum:
+ - None
+ - Secret
+ - InjectedIdentity
+ - Environment
+ - Filesystem
+ type: string
+ required:
+ - source
+ type: object
+ required:
+ - credentials
+ type: object
+ status:
+ description: A ProviderConfigStatus reflects the observed state of a ProviderConfig.
+ properties:
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ users:
+ description: Users of this provider configuration.
+ format: int64
+ type: integer
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/azure.kubedb.com_providerconfigusages.yaml b/charts/kubedb-provider-azure/crds/azure.kubedb.com_providerconfigusages.yaml
new file mode 100644
index 000000000..b0a3f9053
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/azure.kubedb.com_providerconfigusages.yaml
@@ -0,0 +1,110 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: providerconfigusages.azure.kubedb.com
+spec:
+ group: azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - provider
+ - azure
+ kind: ProviderConfigUsage
+ listKind: ProviderConfigUsageList
+ plural: providerconfigusages
+ singular: providerconfigusage
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ - jsonPath: .providerConfigRef.name
+ name: CONFIG-NAME
+ type: string
+ - jsonPath: .resourceRef.kind
+ name: RESOURCE-KIND
+ type: string
+ - jsonPath: .resourceRef.name
+ name: RESOURCE-NAME
+ type: string
+ name: v1beta1
+ schema:
+ openAPIV3Schema:
+ description: A ProviderConfigUsage indicates that a resource is using a ProviderConfig.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ providerConfigRef:
+ description: ProviderConfigReference to the provider config being used.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this reference
+ is required. The default is 'Required', which means the reconcile
+ will fail if the reference cannot be resolved. 'Optional' means
+ this reference will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should be resolved.
+ The default is 'IfNotPresent', which will attempt to resolve
+ the reference only when the corresponding field is not present.
+ Use 'Always' to resolve the reference on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ resourceRef:
+ description: ResourceReference to the managed resource using the provider
+ config.
+ properties:
+ apiVersion:
+ description: APIVersion of the referenced object.
+ type: string
+ kind:
+ description: Kind of the referenced object.
+ type: string
+ name:
+ description: Name of the referenced object.
+ type: string
+ uid:
+ description: UID of the referenced object.
+ type: string
+ required:
+ - apiVersion
+ - kind
+ - name
+ type: object
+ required:
+ - providerConfigRef
+ - resourceRef
+ type: object
+ served: true
+ storage: true
+ subresources: {}
diff --git a/charts/kubedb-provider-azure/crds/azure.kubedb.com_storeconfigs.yaml b/charts/kubedb-provider-azure/crds/azure.kubedb.com_storeconfigs.yaml
new file mode 100644
index 000000000..4dc6f3774
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/azure.kubedb.com_storeconfigs.yaml
@@ -0,0 +1,342 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: storeconfigs.azure.kubedb.com
+spec:
+ group: azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - store
+ - gcp
+ kind: StoreConfig
+ listKind: StoreConfigList
+ plural: storeconfigs
+ singular: storeconfig
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ - jsonPath: .spec.type
+ name: TYPE
+ type: string
+ - jsonPath: .spec.defaultScope
+ name: DEFAULT-SCOPE
+ type: string
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: A StoreConfig configures how GCP controller should store connection
+ details.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: A StoreConfigSpec defines the desired state of a ProviderConfig.
+ properties:
+ defaultScope:
+ description: DefaultScope used for scoping secrets for "cluster-scoped"
+ resources. If store type is "Kubernetes", this would mean the default
+ namespace to store connection secrets for cluster scoped resources.
+ In case of "Vault", this would be used as the default parent path.
+ Typically, should be set as Crossplane installation namespace.
+ type: string
+ kubernetes:
+ description: Kubernetes configures a Kubernetes secret store. If the
+ "type" is "Kubernetes" but no config provided, in cluster config
+ will be used.
+ properties:
+ auth:
+ description: Credentials used to connect to the Kubernetes API.
+ properties:
+ env:
+ description: Env is a reference to an environment variable
+ that contains credentials that must be used to connect to
+ the provider.
+ properties:
+ name:
+ description: Name is the name of an environment variable.
+ type: string
+ required:
+ - name
+ type: object
+ fs:
+ description: Fs is a reference to a filesystem location that
+ contains credentials that must be used to connect to the
+ provider.
+ properties:
+ path:
+ description: Path is a filesystem path.
+ type: string
+ required:
+ - path
+ type: object
+ secretRef:
+ description: A SecretRef is a reference to a secret key that
+ contains the credentials that must be used to connect to
+ the provider.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ source:
+ description: Source of the credentials.
+ enum:
+ - None
+ - Secret
+ - Environment
+ - Filesystem
+ type: string
+ required:
+ - source
+ type: object
+ required:
+ - auth
+ type: object
+ plugin:
+ description: Plugin configures External secret store as a plugin.
+ properties:
+ configRef:
+ description: ConfigRef contains store config reference info.
+ properties:
+ apiVersion:
+ description: APIVersion of the referenced config.
+ type: string
+ kind:
+ description: Kind of the referenced config.
+ type: string
+ name:
+ description: Name of the referenced config.
+ type: string
+ required:
+ - apiVersion
+ - kind
+ - name
+ type: object
+ endpoint:
+ description: Endpoint is the endpoint of the gRPC server.
+ type: string
+ type: object
+ type:
+ default: Kubernetes
+ description: Type configures which secret store to be used. Only the
+ configuration block for this store will be used and others will
+ be ignored if provided. Default is Kubernetes.
+ enum:
+ - Kubernetes
+ - Vault
+ - Plugin
+ type: string
+ vault:
+ description: 'Vault configures a Vault secret store. Deprecated: This
+ API is scheduled to be removed in a future release. Vault should
+ be used as a plugin going forward. See https://github.com/crossplane-contrib/ess-plugin-vault
+ for more information.'
+ properties:
+ auth:
+ description: Auth configures an authentication method for Vault.
+ properties:
+ method:
+ description: Method configures which auth method will be used.
+ type: string
+ token:
+ description: Token configures Token Auth for Vault.
+ properties:
+ env:
+ description: Env is a reference to an environment variable
+ that contains credentials that must be used to connect
+ to the provider.
+ properties:
+ name:
+ description: Name is the name of an environment variable.
+ type: string
+ required:
+ - name
+ type: object
+ fs:
+ description: Fs is a reference to a filesystem location
+ that contains credentials that must be used to connect
+ to the provider.
+ properties:
+ path:
+ description: Path is a filesystem path.
+ type: string
+ required:
+ - path
+ type: object
+ secretRef:
+ description: A SecretRef is a reference to a secret key
+ that contains the credentials that must be used to connect
+ to the provider.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ source:
+ description: Source of the credentials.
+ enum:
+ - None
+ - Secret
+ - Environment
+ - Filesystem
+ type: string
+ required:
+ - source
+ type: object
+ required:
+ - method
+ type: object
+ caBundle:
+ description: CABundle configures CA bundle for Vault Server.
+ properties:
+ env:
+ description: Env is a reference to an environment variable
+ that contains credentials that must be used to connect to
+ the provider.
+ properties:
+ name:
+ description: Name is the name of an environment variable.
+ type: string
+ required:
+ - name
+ type: object
+ fs:
+ description: Fs is a reference to a filesystem location that
+ contains credentials that must be used to connect to the
+ provider.
+ properties:
+ path:
+ description: Path is a filesystem path.
+ type: string
+ required:
+ - path
+ type: object
+ secretRef:
+ description: A SecretRef is a reference to a secret key that
+ contains the credentials that must be used to connect to
+ the provider.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ source:
+ description: Source of the credentials.
+ enum:
+ - None
+ - Secret
+ - Environment
+ - Filesystem
+ type: string
+ required:
+ - source
+ type: object
+ mountPath:
+ description: MountPath is the mount path of the KV secrets engine.
+ type: string
+ server:
+ description: Server is the url of the Vault server, e.g. "https://vault.acme.org"
+ type: string
+ version:
+ default: v2
+ description: Version of the KV Secrets engine of Vault. https://www.vaultproject.io/docs/secrets/kv
+ type: string
+ required:
+ - auth
+ - mountPath
+ - server
+ type: object
+ required:
+ - defaultScope
+ type: object
+ status:
+ description: A StoreConfigStatus represents the status of a StoreConfig.
+ properties:
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_rediscaches.yaml b/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_rediscaches.yaml
new file mode 100644
index 000000000..41631eeb4
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_rediscaches.yaml
@@ -0,0 +1,730 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: rediscaches.cache.azure.kubedb.com
+spec:
+ group: cache.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: RedisCache
+ listKind: RedisCacheList
+ plural: rediscaches
+ singular: rediscache
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: RedisCache is the Schema for the RedisCaches API. Manages a Redis
+ Cache
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: RedisCacheSpec defines the desired state of RedisCache
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ capacity:
+ description: The size of the Redis cache to deploy. Valid values
+ for a SKU family of C (Basic/Standard) are 0, 1, 2, 3, 4, 5,
+ 6, and for P (Premium) family are 1, 2, 3, 4, 5.
+ type: number
+ enableNonSslPort:
+ description: Enable the non-SSL port (6379) - disabled by default.
+ type: boolean
+ family:
+ description: The SKU family/pricing group to use. Valid values
+ are C (for Basic/Standard SKU family) and P (for Premium)
+ type: string
+ identity:
+ description: An identity block as defined below.
+ items:
+ properties:
+ identityIds:
+ description: A list of User Assigned Managed Identity IDs
+ to be assigned to this Redis Cluster.
+ items:
+ type: string
+ type: array
+ type:
+ description: Specifies the type of Managed Service Identity
+ that should be configured on this Redis Cluster. Possible
+ values are SystemAssigned, UserAssigned, SystemAssigned,
+ UserAssigned (to enable both).
+ type: string
+ required:
+ - type
+ type: object
+ type: array
+ location:
+ description: The location of the resource group. Changing this
+ forces a new resource to be created.
+ type: string
+ minimumTlsVersion:
+ description: The minimum TLS version. Possible values are 1.0,
+ 1.1 and 1.2. Defaults to 1.0.
+ type: string
+ patchSchedule:
+ description: A list of patch_schedule blocks as defined below.
+ items:
+ properties:
+ dayOfWeek:
+ description: the Weekday name - possible values include
+ Monday, Tuesday, Wednesday etc.
+ type: string
+ maintenanceWindow:
+ description: The ISO 8601 timespan which specifies the amount
+ of time the Redis Cache can be updated. Defaults to PT5H.
+ type: string
+ startHourUtc:
+ description: the Start Hour for maintenance in UTC - possible
+ values range from 0 - 23.
+ type: number
+ required:
+ - dayOfWeek
+ type: object
+ type: array
+ privateStaticIpAddress:
+ description: The Static IP Address to assign to the Redis Cache
+ when hosted inside the Virtual Network. This argument implies
+ the use of subnet_id. Changing this forces a new resource to
+ be created.
+ type: string
+ publicNetworkAccessEnabled:
+ description: Whether or not public network access is allowed for
+ this Redis Cache. true means this resource could be accessed
+ by both public and private endpoint. false means only private
+ endpoint access is allowed. Defaults to true.
+ type: boolean
+ redisConfiguration:
+ description: A redis_configuration as defined below - with some
+ limitations by SKU - defaults/details are shown below.
+ items:
+ properties:
+ aofBackupEnabled:
+ description: Enable or disable AOF persistence for this
+ Redis Cache. Defaults to false.
+ type: boolean
+ aofStorageConnectionString0SecretRef:
+ description: First Storage Account connection string for
+ AOF persistence.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ aofStorageConnectionString1SecretRef:
+ description: Second Storage Account connection string for
+ AOF persistence.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ enableAuthentication:
+ description: If set to false, the Redis instance will be
+ accessible without authentication. Defaults to true.
+ type: boolean
+ maxfragmentationmemoryReserved:
+ description: Value in megabytes reserved to accommodate
+ for memory fragmentation. Defaults are shown below.
+ type: number
+ maxmemoryDelta:
+ description: The max-memory delta for this Redis instance.
+ Defaults are shown below.
+ type: number
+ maxmemoryPolicy:
+ description: How Redis will select what to remove when maxmemory
+ is reached. Defaults are shown below. Defaults to volatile-lru.
+ type: string
+ maxmemoryReserved:
+ description: Value in megabytes reserved for non-cache usage
+ e.g. failover. Defaults are shown below.
+ type: number
+ notifyKeyspaceEvents:
+ description: Keyspace notifications allows clients to subscribe
+ to Pub/Sub channels in order to receive events affecting
+ the Redis data set in some way. Reference
+ type: string
+ rdbBackupEnabled:
+ description: Is Backup Enabled? Only supported on Premium
+ SKUs. Defaults to false.
+ type: boolean
+ rdbBackupFrequency:
+ description: 'The Backup Frequency in Minutes. Only supported
+ on Premium SKUs. Possible values are: 15, 30, 60, 360,
+ 720 and 1440.'
+ type: number
+ rdbBackupMaxSnapshotCount:
+ description: The maximum number of snapshots to create as
+ a backup. Only supported for Premium SKUs.
+ type: number
+ rdbStorageConnectionStringSecretRef:
+ description: 'The Connection String to the Storage Account.
+ Only supported for Premium SKUs. In the format: DefaultEndpointsProtocol=https;BlobEndpoint=${azurerm_storage_account.example.primary_blob_endpoint};AccountName=${azurerm_storage_account.example.name};AccountKey=${azurerm_storage_account.example.primary_access_key}.'
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ type: object
+ type: array
+ redisVersion:
+ description: 'Redis version. Only major version needed. Valid
+ values: 4, 6.'
+ type: string
+ replicasPerMaster:
+ description: Amount of replicas to create per master for this
+ Redis Cache.
+ type: number
+ replicasPerPrimary:
+ description: Amount of replicas to create per primary for this
+ Redis Cache. If both replicas_per_primary and replicas_per_master
+ are set, they need to be equal.
+ type: number
+ resourceGroupName:
+ description: The name of the resource group in which to create
+ the Redis instance. Changing this forces a new resource to be
+ created.
+ type: string
+ shardCount:
+ description: Only available when using the Premium SKU The number
+ of Shards to create on the Redis Cluster.
+ type: number
+ skuName:
+ description: The SKU of Redis to use. Possible values are Basic,
+ Standard and Premium.
+ type: string
+ subnetId:
+ description: Only available when using the Premium SKU The ID
+ of the Subnet within which the Redis Cache should be deployed.
+ This Subnet must only contain Azure Cache for Redis instances
+ without any other type of resources. Changing this forces a
+ new resource to be created.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the resource.
+ type: object
+ tenantSettings:
+ additionalProperties:
+ type: string
+ description: A mapping of tenant settings to assign to the resource.
+ type: object
+ zones:
+ description: Specifies a list of Availability Zones in which this
+ Redis Cache should be located. Changing this forces a new Redis
+ Cache to be created.
+ items:
+ type: string
+ type: array
+ required:
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: capacity is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.capacity)
+ - message: family is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.family)
+ - message: location is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location)
+ - message: redisVersion is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.redisVersion)
+ - message: skuName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.skuName)
+ status:
+ description: RedisCacheStatus defines the observed state of RedisCache.
+ properties:
+ atProvider:
+ properties:
+ capacity:
+ description: The size of the Redis cache to deploy. Valid values
+ for a SKU family of C (Basic/Standard) are 0, 1, 2, 3, 4, 5,
+ 6, and for P (Premium) family are 1, 2, 3, 4, 5.
+ type: number
+ enableNonSslPort:
+ description: Enable the non-SSL port (6379) - disabled by default.
+ type: boolean
+ family:
+ description: The SKU family/pricing group to use. Valid values
+ are C (for Basic/Standard SKU family) and P (for Premium)
+ type: string
+ hostname:
+ description: The Hostname of the Redis Instance
+ type: string
+ id:
+ description: The Route ID.
+ type: string
+ identity:
+ description: An identity block as defined below.
+ items:
+ properties:
+ identityIds:
+ description: A list of User Assigned Managed Identity IDs
+ to be assigned to this Redis Cluster.
+ items:
+ type: string
+ type: array
+ principalId:
+ description: The Route ID.
+ type: string
+ tenantId:
+ description: The Route ID.
+ type: string
+ type:
+ description: Specifies the type of Managed Service Identity
+ that should be configured on this Redis Cluster. Possible
+ values are SystemAssigned, UserAssigned, SystemAssigned,
+ UserAssigned (to enable both).
+ type: string
+ type: object
+ type: array
+ location:
+ description: The location of the resource group. Changing this
+ forces a new resource to be created.
+ type: string
+ minimumTlsVersion:
+ description: The minimum TLS version. Possible values are 1.0,
+ 1.1 and 1.2. Defaults to 1.0.
+ type: string
+ patchSchedule:
+ description: A list of patch_schedule blocks as defined below.
+ items:
+ properties:
+ dayOfWeek:
+ description: the Weekday name - possible values include
+ Monday, Tuesday, Wednesday etc.
+ type: string
+ maintenanceWindow:
+ description: The ISO 8601 timespan which specifies the amount
+ of time the Redis Cache can be updated. Defaults to PT5H.
+ type: string
+ startHourUtc:
+ description: the Start Hour for maintenance in UTC - possible
+ values range from 0 - 23.
+ type: number
+ type: object
+ type: array
+ port:
+ description: The non-SSL Port of the Redis Instance
+ type: number
+ privateStaticIpAddress:
+ description: The Static IP Address to assign to the Redis Cache
+ when hosted inside the Virtual Network. This argument implies
+ the use of subnet_id. Changing this forces a new resource to
+ be created.
+ type: string
+ publicNetworkAccessEnabled:
+ description: Whether or not public network access is allowed for
+ this Redis Cache. true means this resource could be accessed
+ by both public and private endpoint. false means only private
+ endpoint access is allowed. Defaults to true.
+ type: boolean
+ redisConfiguration:
+ description: A redis_configuration as defined below - with some
+ limitations by SKU - defaults/details are shown below.
+ items:
+ properties:
+ aofBackupEnabled:
+ description: Enable or disable AOF persistence for this
+ Redis Cache. Defaults to false.
+ type: boolean
+ enableAuthentication:
+ description: If set to false, the Redis instance will be
+ accessible without authentication. Defaults to true.
+ type: boolean
+ maxclients:
+ description: Returns the max number of connected clients
+ at the same time.
+ type: number
+ maxfragmentationmemoryReserved:
+ description: Value in megabytes reserved to accommodate
+ for memory fragmentation. Defaults are shown below.
+ type: number
+ maxmemoryDelta:
+ description: The max-memory delta for this Redis instance.
+ Defaults are shown below.
+ type: number
+ maxmemoryPolicy:
+ description: How Redis will select what to remove when maxmemory
+ is reached. Defaults are shown below. Defaults to volatile-lru.
+ type: string
+ maxmemoryReserved:
+ description: Value in megabytes reserved for non-cache usage
+ e.g. failover. Defaults are shown below.
+ type: number
+ notifyKeyspaceEvents:
+ description: Keyspace notifications allows clients to subscribe
+ to Pub/Sub channels in order to receive events affecting
+ the Redis data set in some way. Reference
+ type: string
+ rdbBackupEnabled:
+ description: Is Backup Enabled? Only supported on Premium
+ SKUs. Defaults to false.
+ type: boolean
+ rdbBackupFrequency:
+ description: 'The Backup Frequency in Minutes. Only supported
+ on Premium SKUs. Possible values are: 15, 30, 60, 360,
+ 720 and 1440.'
+ type: number
+ rdbBackupMaxSnapshotCount:
+ description: The maximum number of snapshots to create as
+ a backup. Only supported for Premium SKUs.
+ type: number
+ type: object
+ type: array
+ redisVersion:
+ description: 'Redis version. Only major version needed. Valid
+ values: 4, 6.'
+ type: string
+ replicasPerMaster:
+ description: Amount of replicas to create per master for this
+ Redis Cache.
+ type: number
+ replicasPerPrimary:
+ description: Amount of replicas to create per primary for this
+ Redis Cache. If both replicas_per_primary and replicas_per_master
+ are set, they need to be equal.
+ type: number
+ resourceGroupName:
+ description: The name of the resource group in which to create
+ the Redis instance. Changing this forces a new resource to be
+ created.
+ type: string
+ shardCount:
+ description: Only available when using the Premium SKU The number
+ of Shards to create on the Redis Cluster.
+ type: number
+ skuName:
+ description: The SKU of Redis to use. Possible values are Basic,
+ Standard and Premium.
+ type: string
+ sslPort:
+ description: The SSL Port of the Redis Instance
+ type: number
+ subnetId:
+ description: Only available when using the Premium SKU The ID
+ of the Subnet within which the Redis Cache should be deployed.
+ This Subnet must only contain Azure Cache for Redis instances
+ without any other type of resources. Changing this forces a
+ new resource to be created.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the resource.
+ type: object
+ tenantSettings:
+ additionalProperties:
+ type: string
+ description: A mapping of tenant settings to assign to the resource.
+ type: object
+ zones:
+ description: Specifies a list of Availability Zones in which this
+ Redis Cache should be located. Changing this forces a new Redis
+ Cache to be created.
+ items:
+ type: string
+ type: array
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redisenterpriseclusters.yaml b/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redisenterpriseclusters.yaml
new file mode 100644
index 000000000..af827d9c4
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redisenterpriseclusters.yaml
@@ -0,0 +1,395 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: redisenterpriseclusters.cache.azure.kubedb.com
+spec:
+ group: cache.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: RedisEnterpriseCluster
+ listKind: RedisEnterpriseClusterList
+ plural: redisenterpriseclusters
+ singular: redisenterprisecluster
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: RedisEnterpriseCluster is the Schema for the RedisEnterpriseClusters
+ API. Manages a Redis Enterprise Cluster.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: RedisEnterpriseClusterSpec defines the desired state of RedisEnterpriseCluster
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ location:
+ description: The Azure Region where the Redis Enterprise Cluster
+ should exist. Changing this forces a new Redis Enterprise Cluster
+ to be created.
+ type: string
+ minimumTlsVersion:
+ description: The minimum TLS version. Possible values are 1.0,
+ 1.1 and 1.2. Defaults to 1.2. Changing this forces a new Redis
+ Enterprise Cluster to be created.
+ type: string
+ resourceGroupName:
+ description: The name of the Resource Group where the Redis Enterprise
+ Cluster should exist. Changing this forces a new Redis Enterprise
+ Cluster to be created.
+ type: string
+ skuName:
+ description: The sku_name is comprised of two segments separated
+ by a hyphen (e.g. Enterprise_E10-2). The first segment of the
+ sku_name defines the name of the SKU, possible values are Enterprise_E10,
+ Enterprise_E20", Enterprise_E50, Enterprise_E100, EnterpriseFlash_F300,
+ EnterpriseFlash_F700 or EnterpriseFlash_F1500. The second segment
+ defines the capacity of the sku_name, possible values for Enteprise
+ SKUs are (2, 4, 6, ...). Possible values for EnterpriseFlash
+ SKUs are (3, 9, 15, ...). Changing this forces a new Redis Enterprise
+ Cluster to be created.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags which should be assigned to the
+ Redis Enterprise Cluster.
+ type: object
+ zones:
+ description: Specifies a list of Availability Zones in which this
+ Redis Enterprise Cluster should be located. Changing this forces
+ a new Redis Enterprise Cluster to be created.
+ items:
+ type: string
+ type: array
+ required:
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: location is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location)
+ - message: skuName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.skuName)
+ status:
+ description: RedisEnterpriseClusterStatus defines the observed state of
+ RedisEnterpriseCluster.
+ properties:
+ atProvider:
+ properties:
+ hostname:
+ description: DNS name of the cluster endpoint.
+ type: string
+ id:
+ description: The ID of the Redis Enterprise Cluster.
+ type: string
+ location:
+ description: The Azure Region where the Redis Enterprise Cluster
+ should exist. Changing this forces a new Redis Enterprise Cluster
+ to be created.
+ type: string
+ minimumTlsVersion:
+ description: The minimum TLS version. Possible values are 1.0,
+ 1.1 and 1.2. Defaults to 1.2. Changing this forces a new Redis
+ Enterprise Cluster to be created.
+ type: string
+ resourceGroupName:
+ description: The name of the Resource Group where the Redis Enterprise
+ Cluster should exist. Changing this forces a new Redis Enterprise
+ Cluster to be created.
+ type: string
+ skuName:
+ description: The sku_name is comprised of two segments separated
+ by a hyphen (e.g. Enterprise_E10-2). The first segment of the
+ sku_name defines the name of the SKU, possible values are Enterprise_E10,
+ Enterprise_E20", Enterprise_E50, Enterprise_E100, EnterpriseFlash_F300,
+ EnterpriseFlash_F700 or EnterpriseFlash_F1500. The second segment
+ defines the capacity of the sku_name, possible values for Enteprise
+ SKUs are (2, 4, 6, ...). Possible values for EnterpriseFlash
+ SKUs are (3, 9, 15, ...). Changing this forces a new Redis Enterprise
+ Cluster to be created.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags which should be assigned to the
+ Redis Enterprise Cluster.
+ type: object
+ zones:
+ description: Specifies a list of Availability Zones in which this
+ Redis Enterprise Cluster should be located. Changing this forces
+ a new Redis Enterprise Cluster to be created.
+ items:
+ type: string
+ type: array
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redisenterprisedatabases.yaml b/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redisenterprisedatabases.yaml
new file mode 100644
index 000000000..11a259ed9
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redisenterprisedatabases.yaml
@@ -0,0 +1,436 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: redisenterprisedatabases.cache.azure.kubedb.com
+spec:
+ group: cache.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: RedisEnterpriseDatabase
+ listKind: RedisEnterpriseDatabaseList
+ plural: redisenterprisedatabases
+ singular: redisenterprisedatabase
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: RedisEnterpriseDatabase is the Schema for the RedisEnterpriseDatabases
+ API. Manages a Redis Enterprise Database.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: RedisEnterpriseDatabaseSpec defines the desired state of
+ RedisEnterpriseDatabase
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ clientProtocol:
+ description: Specifies whether redis clients can connect using
+ TLS-encrypted or plaintext redis protocols. Default is TLS-encrypted.
+ Possible values are Encrypted and Plaintext. Defaults to Encrypted.
+ Changing this forces a new Redis Enterprise Database to be created.
+ type: string
+ clusterId:
+ description: The resource id of the Redis Enterprise Cluster to
+ deploy this Redis Enterprise Database. Changing this forces
+ a new Redis Enterprise Database to be created.
+ type: string
+ clusteringPolicy:
+ description: Clustering policy - default is OSSCluster. Specified
+ at create time. Possible values are EnterpriseCluster and OSSCluster.
+ Defaults to OSSCluster. Changing this forces a new Redis Enterprise
+ Database to be created.
+ type: string
+ evictionPolicy:
+ description: Redis eviction policy - default is VolatileLRU. Possible
+ values are AllKeysLFU, AllKeysLRU, AllKeysRandom, VolatileLRU,
+ VolatileLFU, VolatileTTL, VolatileRandom and NoEviction. Changing
+ this forces a new Redis Enterprise Database to be created.
+ type: string
+ linkedDatabaseGroupNickname:
+ description: Nickname of the group of linked databases. Changing
+ this force a new Redis Enterprise Geo Database to be created.
+ type: string
+ linkedDatabaseId:
+ description: A list of database resources to link with this database
+ with a maximum of 5.
+ items:
+ type: string
+ type: array
+ module:
+ description: A module block as defined below. Changing this forces
+ a new resource to be created.
+ items:
+ properties:
+ args:
+ description: Configuration options for the module (e.g.
+ ERROR_RATE 0.00 INITIAL_SIZE 400). Changing this forces
+ a new resource to be created. Defaults to "".
+ type: string
+ name:
+ description: The name which should be used for this module.
+ Possible values are RedisBloom, RedisTimeSeries, RediSearch
+ and RedisJSON. Changing this forces a new Redis Enterprise
+ Database to be created.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ port:
+ description: TCP port of the database endpoint. Specified at create
+ time. Defaults to an available port. Changing this forces a
+ new Redis Enterprise Database to be created. Defaults to 10000.
+ type: number
+ resourceGroupName:
+ description: The name of the Resource Group where the Redis Enterprise
+ Database should exist. Changing this forces a new Redis Enterprise
+ Database to be created.
+ type: string
+ required:
+ - clusterId
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ status:
+ description: RedisEnterpriseDatabaseStatus defines the observed state
+ of RedisEnterpriseDatabase.
+ properties:
+ atProvider:
+ properties:
+ clientProtocol:
+ description: Specifies whether redis clients can connect using
+ TLS-encrypted or plaintext redis protocols. Default is TLS-encrypted.
+ Possible values are Encrypted and Plaintext. Defaults to Encrypted.
+ Changing this forces a new Redis Enterprise Database to be created.
+ type: string
+ clusterId:
+ description: The resource id of the Redis Enterprise Cluster to
+ deploy this Redis Enterprise Database. Changing this forces
+ a new Redis Enterprise Database to be created.
+ type: string
+ clusteringPolicy:
+ description: Clustering policy - default is OSSCluster. Specified
+ at create time. Possible values are EnterpriseCluster and OSSCluster.
+ Defaults to OSSCluster. Changing this forces a new Redis Enterprise
+ Database to be created.
+ type: string
+ evictionPolicy:
+ description: Redis eviction policy - default is VolatileLRU. Possible
+ values are AllKeysLFU, AllKeysLRU, AllKeysRandom, VolatileLRU,
+ VolatileLFU, VolatileTTL, VolatileRandom and NoEviction. Changing
+ this forces a new Redis Enterprise Database to be created.
+ type: string
+ id:
+ description: The ID of the Redis Enterprise Database.
+ type: string
+ linkedDatabaseGroupNickname:
+ description: Nickname of the group of linked databases. Changing
+ this force a new Redis Enterprise Geo Database to be created.
+ type: string
+ linkedDatabaseId:
+ description: A list of database resources to link with this database
+ with a maximum of 5.
+ items:
+ type: string
+ type: array
+ module:
+ description: A module block as defined below. Changing this forces
+ a new resource to be created.
+ items:
+ properties:
+ args:
+ description: Configuration options for the module (e.g.
+ ERROR_RATE 0.00 INITIAL_SIZE 400). Changing this forces
+ a new resource to be created. Defaults to "".
+ type: string
+ name:
+ description: The name which should be used for this module.
+ Possible values are RedisBloom, RedisTimeSeries, RediSearch
+ and RedisJSON. Changing this forces a new Redis Enterprise
+ Database to be created.
+ type: string
+ version:
+ type: string
+ type: object
+ type: array
+ port:
+ description: TCP port of the database endpoint. Specified at create
+ time. Defaults to an available port. Changing this forces a
+ new Redis Enterprise Database to be created. Defaults to 10000.
+ type: number
+ resourceGroupName:
+ description: The name of the Resource Group where the Redis Enterprise
+ Database should exist. Changing this forces a new Redis Enterprise
+ Database to be created.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redisfirewallrules.yaml b/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redisfirewallrules.yaml
new file mode 100644
index 000000000..4c9133cfc
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redisfirewallrules.yaml
@@ -0,0 +1,342 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: redisfirewallrules.cache.azure.kubedb.com
+spec:
+ group: cache.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: RedisFirewallRule
+ listKind: RedisFirewallRuleList
+ plural: redisfirewallrules
+ singular: redisfirewallrule
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: RedisFirewallRule is the Schema for the RedisFirewallRules API.
+ Manages a Firewall Rule associated with a Redis Cache.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: RedisFirewallRuleSpec defines the desired state of RedisFirewallRule
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ endIp:
+ description: The highest IP address included in the range.
+ type: string
+ redisCacheName:
+ description: The name of the Redis Cache. Changing this forces
+ a new resource to be created.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which this Redis
+ Cache exists. Changing this forces a new resource to be created.
+ type: string
+ startIp:
+ description: The lowest IP address included in the range
+ type: string
+ required:
+ - redisCacheName
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: endIp is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.endIp)
+ - message: startIp is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.startIp)
+ status:
+ description: RedisFirewallRuleStatus defines the observed state of RedisFirewallRule.
+ properties:
+ atProvider:
+ properties:
+ endIp:
+ description: The highest IP address included in the range.
+ type: string
+ id:
+ description: The ID of the Redis Firewall Rule.
+ type: string
+ redisCacheName:
+ description: The name of the Redis Cache. Changing this forces
+ a new resource to be created.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which this Redis
+ Cache exists. Changing this forces a new resource to be created.
+ type: string
+ startIp:
+ description: The lowest IP address included in the range
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redislinkedservers.yaml b/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redislinkedservers.yaml
new file mode 100644
index 000000000..44ec0117c
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redislinkedservers.yaml
@@ -0,0 +1,504 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: redislinkedservers.cache.azure.kubedb.com
+spec:
+ group: cache.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: RedisLinkedServer
+ listKind: RedisLinkedServerList
+ plural: redislinkedservers
+ singular: redislinkedserver
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: RedisLinkedServer is the Schema for the RedisLinkedServers API.
+ Manages a Redis Linked Server.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: RedisLinkedServerSpec defines the desired state of RedisLinkedServer
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ linkedRedisCacheId:
+ description: The ID of the linked Redis cache. Changing this forces
+ a new Redis to be created.
+ type: string
+ linkedRedisCacheIdRef:
+ description: Reference to a RedisCache to populate linkedRedisCacheId.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ linkedRedisCacheIdSelector:
+ description: Selector for a RedisCache to populate linkedRedisCacheId.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ linkedRedisCacheLocation:
+ description: The location of the linked Redis cache. Changing
+ this forces a new Redis to be created.
+ type: string
+ resourceGroupName:
+ description: The name of the Resource Group where the Redis caches
+ exists. Changing this forces a new Redis to be created.
+ type: string
+ serverRole:
+ description: The role of the linked Redis cache (eg "Secondary").
+ Changing this forces a new Redis to be created. Possible values
+ are Primary and Secondary.
+ type: string
+ targetRedisCacheName:
+ description: The name of Redis cache to link with. Changing this
+ forces a new Redis to be created. (eg The primary role)
+ type: string
+ targetRedisCacheNameRef:
+ description: Reference to a RedisCache to populate targetRedisCacheName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ targetRedisCacheNameSelector:
+ description: Selector for a RedisCache to populate targetRedisCacheName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ required:
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: linkedRedisCacheLocation is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.linkedRedisCacheLocation)
+ - message: serverRole is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.serverRole)
+ status:
+ description: RedisLinkedServerStatus defines the observed state of RedisLinkedServer.
+ properties:
+ atProvider:
+ properties:
+ id:
+ description: The ID of the Redis.
+ type: string
+ linkedRedisCacheId:
+ description: The ID of the linked Redis cache. Changing this forces
+ a new Redis to be created.
+ type: string
+ linkedRedisCacheLocation:
+ description: The location of the linked Redis cache. Changing
+ this forces a new Redis to be created.
+ type: string
+ name:
+ description: The name of the linked server.
+ type: string
+ resourceGroupName:
+ description: The name of the Resource Group where the Redis caches
+ exists. Changing this forces a new Redis to be created.
+ type: string
+ serverRole:
+ description: The role of the linked Redis cache (eg "Secondary").
+ Changing this forces a new Redis to be created. Possible values
+ are Primary and Secondary.
+ type: string
+ targetRedisCacheName:
+ description: The name of Redis cache to link with. Changing this
+ forces a new Redis to be created. (eg The primary role)
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_accounts.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_accounts.yaml
new file mode 100644
index 000000000..fec765711
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_accounts.yaml
@@ -0,0 +1,1001 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: accounts.cosmosdb.azure.kubedb.com
+spec:
+ group: cosmosdb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: Account
+ listKind: AccountList
+ plural: accounts
+ singular: account
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Account is the Schema for the Accounts API. Manages a CosmosDB
+ (formally DocumentDB) Account.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: AccountSpec defines the desired state of Account
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ accessKeyMetadataWritesEnabled:
+ description: Is write operations on metadata resources (databases,
+ containers, throughput) via account keys enabled? Defaults to
+ true.
+ type: boolean
+ analyticalStorage:
+ description: An analytical_storage block as defined below.
+ items:
+ properties:
+ schemaType:
+ description: The schema type of the Analytical Storage for
+ this Cosmos DB account. Possible values are FullFidelity
+ and WellDefined.
+ type: string
+ required:
+ - schemaType
+ type: object
+ type: array
+ analyticalStorageEnabled:
+ description: Enable Analytical Storage option for this Cosmos
+ DB account. Defaults to false. Enabling and then disabling analytical
+ storage forces a new resource to be created.
+ type: boolean
+ backup:
+ description: A backup block as defined below.
+ items:
+ properties:
+ intervalInMinutes:
+ description: The interval in minutes between two backups.
+ This is configurable only when type is Periodic. Possible
+ values are between 60 and 1440.
+ type: number
+ retentionInHours:
+ description: The time in hours that each backup is retained.
+ This is configurable only when type is Periodic. Possible
+ values are between 8 and 720.
+ type: number
+ storageRedundancy:
+ description: The storage redundancy is used to indicate
+ the type of backup residency. This is configurable only
+ when type is Periodic. Possible values are Geo, Local
+ and Zone.
+ type: string
+ type:
+ description: The type of the backup. Possible values are
+ Continuous and Periodic. Migration of Periodic to Continuous
+ is one-way, changing Continuous to Periodic forces a new
+ resource to be created.
+ type: string
+ required:
+ - type
+ type: object
+ type: array
+ capabilities:
+ description: The capabilities which should be enabled for this
+ Cosmos DB account. Value is a capabilities block as defined
+ below.
+ items:
+ properties:
+ name:
+ description: The capability to enable - Possible values
+ are AllowSelfServeUpgradeToMongo36, DisableRateLimitingResponses,
+ EnableAggregationPipeline, EnableCassandra, EnableGremlin,
+ EnableMongo, EnableMongo16MBDocumentSupport, EnableMongoRetryableWrites,
+ EnableMongoRoleBasedAccessControl, EnablePartialUniqueIndex,
+ EnableServerless, EnableTable, EnableTtlOnCustomPath,
+ EnableUniqueCompoundNestedDocs, MongoDBv3.4 and mongoEnableDocLevelTTL.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ capacity:
+ description: A capacity block as defined below.
+ items:
+ properties:
+ totalThroughputLimit:
+ description: The total throughput limit imposed on this
+ Cosmos DB account (RU/s). Possible values are at least
+ -1. -1 means no limit.
+ type: number
+ required:
+ - totalThroughputLimit
+ type: object
+ type: array
+ consistencyPolicy:
+ description: Specifies a consistency_policy resource, used to
+ define the consistency policy for this CosmosDB account.
+ items:
+ properties:
+ consistencyLevel:
+ description: The Consistency Level to use for this CosmosDB
+ Account - can be either BoundedStaleness, Eventual, Session,
+ Strong or ConsistentPrefix.
+ type: string
+ maxIntervalInSeconds:
+ description: When used with the Bounded Staleness consistency
+ level, this value represents the time amount of staleness
+ (in seconds) tolerated. The accepted range for this value
+ is 5 - 86400 (1 day). Defaults to 5. Required when consistency_level
+ is set to BoundedStaleness.
+ type: number
+ maxStalenessPrefix:
+ description: When used with the Bounded Staleness consistency
+ level, this value represents the number of stale requests
+ tolerated. The accepted range for this value is 10 – 2147483647.
+ Defaults to 100. Required when consistency_level is set
+ to BoundedStaleness.
+ type: number
+ required:
+ - consistencyLevel
+ type: object
+ type: array
+ corsRule:
+ description: A cors_rule block as defined below.
+ items:
+ properties:
+ allowedHeaders:
+ description: A list of headers that are allowed to be a
+ part of the cross-origin request.
+ items:
+ type: string
+ type: array
+ allowedMethods:
+ description: A list of HTTP headers that are allowed to
+ be executed by the origin. Valid options are DELETE, GET,
+ HEAD, MERGE, POST, OPTIONS, PUT or PATCH.
+ items:
+ type: string
+ type: array
+ allowedOrigins:
+ description: A list of origin domains that will be allowed
+ by CORS.
+ items:
+ type: string
+ type: array
+ exposedHeaders:
+ description: A list of response headers that are exposed
+ to CORS clients.
+ items:
+ type: string
+ type: array
+ maxAgeInSeconds:
+ description: The number of seconds the client should cache
+ a preflight response.
+ type: number
+ required:
+ - allowedHeaders
+ - allowedMethods
+ - allowedOrigins
+ - exposedHeaders
+ - maxAgeInSeconds
+ type: object
+ type: array
+ createMode:
+ description: The creation mode for the CosmosDB Account. Possible
+ values are Default and Restore. Changing this forces a new resource
+ to be created.
+ type: string
+ defaultIdentityType:
+ description: The default identity for accessing Key Vault. Possible
+ values are FirstPartyIdentity, SystemAssignedIdentity or UserAssignedIdentity.
+ Defaults to FirstPartyIdentity.
+ type: string
+ enableAutomaticFailover:
+ description: Enable automatic failover for this Cosmos DB account.
+ type: boolean
+ enableFreeTier:
+ description: Enable the Free Tier pricing option for this Cosmos
+ DB account. Defaults to false. Changing this forces a new resource
+ to be created.
+ type: boolean
+ enableMultipleWriteLocations:
+ description: Enable multiple write locations for this Cosmos DB
+ account.
+ type: boolean
+ geoLocation:
+ description: Specifies a geo_location resource, used to define
+ where data should be replicated with the failover_priority 0
+ specifying the primary location. Value is a geo_location block
+ as defined below.
+ items:
+ properties:
+ failoverPriority:
+ description: The failover priority of the region. A failover
+ priority of 0 indicates a write region. The maximum value
+ for a failover priority = (total number of regions - 1).
+ Failover priority values must be unique for each of the
+ regions in which the database account exists. Changing
+ this causes the location to be re-provisioned and cannot
+ be changed for the location with failover priority 0.
+ type: number
+ location:
+ description: The name of the Azure region to host replicated
+ data.
+ type: string
+ zoneRedundant:
+ description: Should zone redundancy be enabled for this
+ region? Defaults to false.
+ type: boolean
+ required:
+ - failoverPriority
+ - location
+ type: object
+ type: array
+ identity:
+ description: An identity block as defined below.
+ items:
+ properties:
+ identityIds:
+ description: Specifies a list of User Assigned Managed Identity
+ IDs to be assigned to this Cosmos Account.
+ items:
+ type: string
+ type: array
+ type:
+ description: The Type of Managed Identity assigned to this
+ Cosmos account. Possible values are SystemAssigned, UserAssigned
+ and SystemAssigned, UserAssigned.
+ type: string
+ required:
+ - type
+ type: object
+ type: array
+ ipRangeFilter:
+ description: 'CosmosDB Firewall Support: This value specifies
+ the set of IP addresses or IP address ranges in CIDR form to
+ be included as the allowed list of client IPs for a given database
+ account. IP addresses/ranges must be comma separated and must
+ not contain any spaces.'
+ type: string
+ isVirtualNetworkFilterEnabled:
+ description: Enables virtual network filtering for this Cosmos
+ DB account.
+ type: boolean
+ keyVaultKeyId:
+ description: A versionless Key Vault Key ID for CMK encryption.
+ Changing this forces a new resource to be created.
+ type: string
+ kind:
+ description: Specifies the Kind of CosmosDB to create - possible
+ values are GlobalDocumentDB, MongoDB and Parse. Defaults to
+ GlobalDocumentDB. Changing this forces a new resource to be
+ created.
+ type: string
+ localAuthenticationDisabled:
+ description: Disable local authentication and ensure only MSI
+ and AAD can be used exclusively for authentication. Defaults
+ to false. Can be set only when using the SQL API.
+ type: boolean
+ location:
+ description: Specifies the supported Azure location where the
+ resource exists. Changing this forces a new resource to be created.
+ type: string
+ mongoServerVersion:
+ description: The Server Version of a MongoDB account. Possible
+ values are 4.2, 4.0, 3.6, and 3.2.
+ type: string
+ networkAclBypassForAzureServices:
+ description: If Azure services can bypass ACLs. Defaults to false.
+ type: boolean
+ networkAclBypassIds:
+ description: The list of resource Ids for Network Acl Bypass for
+ this Cosmos DB account.
+ items:
+ type: string
+ type: array
+ offerType:
+ description: Specifies the Offer Type to use for this CosmosDB
+ Account; currently, this can only be set to Standard.
+ type: string
+ publicNetworkAccessEnabled:
+ description: Whether or not public network access is allowed for
+ this CosmosDB account. Defaults to true.
+ type: boolean
+ resourceGroupName:
+ description: The name of the resource group in which the CosmosDB
+ Account is created. Changing this forces a new resource to be
+ created.
+ type: string
+ restore:
+ description: A restore block as defined below.
+ items:
+ properties:
+ database:
+ description: A database block as defined below. Changing
+ this forces a new resource to be created.
+ items:
+ properties:
+ collectionNames:
+ description: A list of the collection names for the
+ restore request. Changing this forces a new resource
+ to be created.
+ items:
+ type: string
+ type: array
+ name:
+ description: Specifies the name of the CosmosDB Account.
+ Changing this forces a new resource to be created.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ restoreTimestampInUtc:
+ description: The creation time of the database or the collection
+ (Datetime Format RFC 3339). Changing this forces a new
+ resource to be created.
+ type: string
+ sourceCosmosdbAccountId:
+ description: The resource ID of the restorable database
+ account from which the restore has to be initiated. The
+ example is /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}.
+ Changing this forces a new resource to be created.
+ type: string
+ required:
+ - restoreTimestampInUtc
+ - sourceCosmosdbAccountId
+ type: object
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the resource.
+ type: object
+ virtualNetworkRule:
+ description: Specifies a virtual_network_rules resource, used
+ to define which subnets are allowed to access this CosmosDB
+ account.
+ items:
+ properties:
+ id:
+ description: The ID of the virtual network subnet.
+ type: string
+ ignoreMissingVnetServiceEndpoint:
+ description: If set to true, the specified subnet will be
+ added as a virtual network rule even if its CosmosDB service
+ endpoint is not active. Defaults to false.
+ type: boolean
+ required:
+ - id
+ type: object
+ type: array
+ required:
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: consistencyPolicy is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.consistencyPolicy)
+ - message: geoLocation is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.geoLocation)
+ - message: location is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location)
+ - message: offerType is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.offerType)
+ status:
+ description: AccountStatus defines the observed state of Account.
+ properties:
+ atProvider:
+ properties:
+ accessKeyMetadataWritesEnabled:
+ description: Is write operations on metadata resources (databases,
+ containers, throughput) via account keys enabled? Defaults to
+ true.
+ type: boolean
+ analyticalStorage:
+ description: An analytical_storage block as defined below.
+ items:
+ properties:
+ schemaType:
+ description: The schema type of the Analytical Storage for
+ this Cosmos DB account. Possible values are FullFidelity
+ and WellDefined.
+ type: string
+ type: object
+ type: array
+ analyticalStorageEnabled:
+ description: Enable Analytical Storage option for this Cosmos
+ DB account. Defaults to false. Enabling and then disabling analytical
+ storage forces a new resource to be created.
+ type: boolean
+ backup:
+ description: A backup block as defined below.
+ items:
+ properties:
+ intervalInMinutes:
+ description: The interval in minutes between two backups.
+ This is configurable only when type is Periodic. Possible
+ values are between 60 and 1440.
+ type: number
+ retentionInHours:
+ description: The time in hours that each backup is retained.
+ This is configurable only when type is Periodic. Possible
+ values are between 8 and 720.
+ type: number
+ storageRedundancy:
+ description: The storage redundancy is used to indicate
+ the type of backup residency. This is configurable only
+ when type is Periodic. Possible values are Geo, Local
+ and Zone.
+ type: string
+ type:
+ description: The type of the backup. Possible values are
+ Continuous and Periodic. Migration of Periodic to Continuous
+ is one-way, changing Continuous to Periodic forces a new
+ resource to be created.
+ type: string
+ type: object
+ type: array
+ capabilities:
+ description: The capabilities which should be enabled for this
+ Cosmos DB account. Value is a capabilities block as defined
+ below.
+ items:
+ properties:
+ name:
+ description: The capability to enable - Possible values
+ are AllowSelfServeUpgradeToMongo36, DisableRateLimitingResponses,
+ EnableAggregationPipeline, EnableCassandra, EnableGremlin,
+ EnableMongo, EnableMongo16MBDocumentSupport, EnableMongoRetryableWrites,
+ EnableMongoRoleBasedAccessControl, EnablePartialUniqueIndex,
+ EnableServerless, EnableTable, EnableTtlOnCustomPath,
+ EnableUniqueCompoundNestedDocs, MongoDBv3.4 and mongoEnableDocLevelTTL.
+ type: string
+ type: object
+ type: array
+ capacity:
+ description: A capacity block as defined below.
+ items:
+ properties:
+ totalThroughputLimit:
+ description: The total throughput limit imposed on this
+ Cosmos DB account (RU/s). Possible values are at least
+ -1. -1 means no limit.
+ type: number
+ type: object
+ type: array
+ consistencyPolicy:
+ description: Specifies a consistency_policy resource, used to
+ define the consistency policy for this CosmosDB account.
+ items:
+ properties:
+ consistencyLevel:
+ description: The Consistency Level to use for this CosmosDB
+ Account - can be either BoundedStaleness, Eventual, Session,
+ Strong or ConsistentPrefix.
+ type: string
+ maxIntervalInSeconds:
+ description: When used with the Bounded Staleness consistency
+ level, this value represents the time amount of staleness
+ (in seconds) tolerated. The accepted range for this value
+ is 5 - 86400 (1 day). Defaults to 5. Required when consistency_level
+ is set to BoundedStaleness.
+ type: number
+ maxStalenessPrefix:
+ description: When used with the Bounded Staleness consistency
+ level, this value represents the number of stale requests
+ tolerated. The accepted range for this value is 10 – 2147483647.
+ Defaults to 100. Required when consistency_level is set
+ to BoundedStaleness.
+ type: number
+ type: object
+ type: array
+ corsRule:
+ description: A cors_rule block as defined below.
+ items:
+ properties:
+ allowedHeaders:
+ description: A list of headers that are allowed to be a
+ part of the cross-origin request.
+ items:
+ type: string
+ type: array
+ allowedMethods:
+ description: A list of HTTP headers that are allowed to
+ be executed by the origin. Valid options are DELETE, GET,
+ HEAD, MERGE, POST, OPTIONS, PUT or PATCH.
+ items:
+ type: string
+ type: array
+ allowedOrigins:
+ description: A list of origin domains that will be allowed
+ by CORS.
+ items:
+ type: string
+ type: array
+ exposedHeaders:
+ description: A list of response headers that are exposed
+ to CORS clients.
+ items:
+ type: string
+ type: array
+ maxAgeInSeconds:
+ description: The number of seconds the client should cache
+ a preflight response.
+ type: number
+ type: object
+ type: array
+ createMode:
+ description: The creation mode for the CosmosDB Account. Possible
+ values are Default and Restore. Changing this forces a new resource
+ to be created.
+ type: string
+ defaultIdentityType:
+ description: The default identity for accessing Key Vault. Possible
+ values are FirstPartyIdentity, SystemAssignedIdentity or UserAssignedIdentity.
+ Defaults to FirstPartyIdentity.
+ type: string
+ enableAutomaticFailover:
+ description: Enable automatic failover for this Cosmos DB account.
+ type: boolean
+ enableFreeTier:
+ description: Enable the Free Tier pricing option for this Cosmos
+ DB account. Defaults to false. Changing this forces a new resource
+ to be created.
+ type: boolean
+ enableMultipleWriteLocations:
+ description: Enable multiple write locations for this Cosmos DB
+ account.
+ type: boolean
+ endpoint:
+ description: The endpoint used to connect to the CosmosDB account.
+ type: string
+ geoLocation:
+ description: Specifies a geo_location resource, used to define
+ where data should be replicated with the failover_priority 0
+ specifying the primary location. Value is a geo_location block
+ as defined below.
+ items:
+ properties:
+ failoverPriority:
+ description: The failover priority of the region. A failover
+ priority of 0 indicates a write region. The maximum value
+ for a failover priority = (total number of regions - 1).
+ Failover priority values must be unique for each of the
+ regions in which the database account exists. Changing
+ this causes the location to be re-provisioned and cannot
+ be changed for the location with failover priority 0.
+ type: number
+ id:
+ description: The ID of the virtual network subnet.
+ type: string
+ location:
+ description: The name of the Azure region to host replicated
+ data.
+ type: string
+ zoneRedundant:
+ description: Should zone redundancy be enabled for this
+ region? Defaults to false.
+ type: boolean
+ type: object
+ type: array
+ id:
+ description: The CosmosDB Account ID.
+ type: string
+ identity:
+ description: An identity block as defined below.
+ items:
+ properties:
+ identityIds:
+ description: Specifies a list of User Assigned Managed Identity
+ IDs to be assigned to this Cosmos Account.
+ items:
+ type: string
+ type: array
+ principalId:
+ description: The Principal ID associated with this Managed
+ Service Identity.
+ type: string
+ tenantId:
+ description: The Tenant ID associated with this Managed
+ Service Identity.
+ type: string
+ type:
+ description: The Type of Managed Identity assigned to this
+ Cosmos account. Possible values are SystemAssigned, UserAssigned
+ and SystemAssigned, UserAssigned.
+ type: string
+ type: object
+ type: array
+ ipRangeFilter:
+ description: 'CosmosDB Firewall Support: This value specifies
+ the set of IP addresses or IP address ranges in CIDR form to
+ be included as the allowed list of client IPs for a given database
+ account. IP addresses/ranges must be comma separated and must
+ not contain any spaces.'
+ type: string
+ isVirtualNetworkFilterEnabled:
+ description: Enables virtual network filtering for this Cosmos
+ DB account.
+ type: boolean
+ keyVaultKeyId:
+ description: A versionless Key Vault Key ID for CMK encryption.
+ Changing this forces a new resource to be created.
+ type: string
+ kind:
+ description: Specifies the Kind of CosmosDB to create - possible
+ values are GlobalDocumentDB, MongoDB and Parse. Defaults to
+ GlobalDocumentDB. Changing this forces a new resource to be
+ created.
+ type: string
+ localAuthenticationDisabled:
+ description: Disable local authentication and ensure only MSI
+ and AAD can be used exclusively for authentication. Defaults
+ to false. Can be set only when using the SQL API.
+ type: boolean
+ location:
+ description: Specifies the supported Azure location where the
+ resource exists. Changing this forces a new resource to be created.
+ type: string
+ mongoServerVersion:
+ description: The Server Version of a MongoDB account. Possible
+ values are 4.2, 4.0, 3.6, and 3.2.
+ type: string
+ networkAclBypassForAzureServices:
+ description: If Azure services can bypass ACLs. Defaults to false.
+ type: boolean
+ networkAclBypassIds:
+ description: The list of resource Ids for Network Acl Bypass for
+ this Cosmos DB account.
+ items:
+ type: string
+ type: array
+ offerType:
+ description: Specifies the Offer Type to use for this CosmosDB
+ Account; currently, this can only be set to Standard.
+ type: string
+ publicNetworkAccessEnabled:
+ description: Whether or not public network access is allowed for
+ this CosmosDB account. Defaults to true.
+ type: boolean
+ readEndpoints:
+ description: A list of read endpoints available for this CosmosDB
+ account.
+ items:
+ type: string
+ type: array
+ resourceGroupName:
+ description: The name of the resource group in which the CosmosDB
+ Account is created. Changing this forces a new resource to be
+ created.
+ type: string
+ restore:
+ description: A restore block as defined below.
+ items:
+ properties:
+ database:
+ description: A database block as defined below. Changing
+ this forces a new resource to be created.
+ items:
+ properties:
+ collectionNames:
+ description: A list of the collection names for the
+ restore request. Changing this forces a new resource
+ to be created.
+ items:
+ type: string
+ type: array
+ name:
+ description: Specifies the name of the CosmosDB Account.
+ Changing this forces a new resource to be created.
+ type: string
+ type: object
+ type: array
+ restoreTimestampInUtc:
+ description: The creation time of the database or the collection
+ (Datetime Format RFC 3339). Changing this forces a new
+ resource to be created.
+ type: string
+ sourceCosmosdbAccountId:
+ description: The resource ID of the restorable database
+ account from which the restore has to be initiated. The
+ example is /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}.
+ Changing this forces a new resource to be created.
+ type: string
+ type: object
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the resource.
+ type: object
+ virtualNetworkRule:
+ description: Specifies a virtual_network_rules resource, used
+ to define which subnets are allowed to access this CosmosDB
+ account.
+ items:
+ properties:
+ id:
+ description: The ID of the virtual network subnet.
+ type: string
+ ignoreMissingVnetServiceEndpoint:
+ description: If set to true, the specified subnet will be
+ added as a virtual network rule even if its CosmosDB service
+ endpoint is not active. Defaults to false.
+ type: boolean
+ type: object
+ type: array
+ writeEndpoints:
+ description: A list of write endpoints available for this CosmosDB
+ account.
+ items:
+ type: string
+ type: array
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandraclusters.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandraclusters.yaml
new file mode 100644
index 000000000..e814b8719
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandraclusters.yaml
@@ -0,0 +1,475 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: cassandraclusters.cosmosdb.azure.kubedb.com
+spec:
+ group: cosmosdb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: CassandraCluster
+ listKind: CassandraClusterList
+ plural: cassandraclusters
+ singular: cassandracluster
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: CassandraCluster is the Schema for the CassandraClusters API.
+ Manages a Cassandra Cluster.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: CassandraClusterSpec defines the desired state of CassandraCluster
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ authenticationMethod:
+ description: The authentication method that is used to authenticate
+ clients. Possible values are None and Cassandra. Defaults to
+ Cassandra.
+ type: string
+ clientCertificatePems:
+ description: A list of TLS certificates that is used to authorize
+ client connecting to the Cassandra Cluster.
+ items:
+ type: string
+ type: array
+ defaultAdminPasswordSecretRef:
+ description: The initial admin password for this Cassandra Cluster.
+ Changing this forces a new resource to be created.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ delegatedManagementSubnetId:
+ description: The ID of the delegated management subnet for this
+ Cassandra Cluster. Changing this forces a new Cassandra Cluster
+ to be created.
+ type: string
+ externalGossipCertificatePems:
+ description: A list of TLS certificates that is used to authorize
+ gossip from unmanaged Cassandra Data Center.
+ items:
+ type: string
+ type: array
+ externalSeedNodeIpAddresses:
+ description: A list of IP Addresses of the seed nodes in unmanaged
+ the Cassandra Data Center which will be added to the seed node
+ lists of all managed nodes.
+ items:
+ type: string
+ type: array
+ hoursBetweenBackups:
+ description: The number of hours to wait between taking a backup
+ of the Cassandra Cluster. Defaults to 24.
+ type: number
+ identity:
+ description: An identity block as defined below.
+ items:
+ properties:
+ type:
+ description: Specifies the type of Managed Service Identity
+ that should be configured on this Cassandra Cluster. The
+ only possible value is SystemAssigned.
+ type: string
+ required:
+ - type
+ type: object
+ type: array
+ location:
+ description: The Azure Region where the Cassandra Cluster should
+ exist. Changing this forces a new Cassandra Cluster to be created.
+ type: string
+ repairEnabled:
+ description: Is the automatic repair enabled on the Cassandra
+ Cluster? Defaults to true.
+ type: boolean
+ resourceGroupName:
+ description: The name of the Resource Group where the Cassandra
+ Cluster should exist. Changing this forces a new Cassandra Cluster
+ to be created.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags assigned to the resource.
+ type: object
+ version:
+ description: The version of Cassandra what the Cluster converges
+ to run. Possible values are 3.11 and 4.0. Defaults to 3.11.
+ Changing this forces a new Cassandra Cluster to be created.
+ type: string
+ required:
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: defaultAdminPasswordSecretRef is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.defaultAdminPasswordSecretRef)
+ - message: delegatedManagementSubnetId is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.delegatedManagementSubnetId)
+ - message: location is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location)
+ status:
+ description: CassandraClusterStatus defines the observed state of CassandraCluster.
+ properties:
+ atProvider:
+ properties:
+ authenticationMethod:
+ description: The authentication method that is used to authenticate
+ clients. Possible values are None and Cassandra. Defaults to
+ Cassandra.
+ type: string
+ clientCertificatePems:
+ description: A list of TLS certificates that is used to authorize
+ client connecting to the Cassandra Cluster.
+ items:
+ type: string
+ type: array
+ delegatedManagementSubnetId:
+ description: The ID of the delegated management subnet for this
+ Cassandra Cluster. Changing this forces a new Cassandra Cluster
+ to be created.
+ type: string
+ externalGossipCertificatePems:
+ description: A list of TLS certificates that is used to authorize
+ gossip from unmanaged Cassandra Data Center.
+ items:
+ type: string
+ type: array
+ externalSeedNodeIpAddresses:
+ description: A list of IP Addresses of the seed nodes in unmanaged
+ the Cassandra Data Center which will be added to the seed node
+ lists of all managed nodes.
+ items:
+ type: string
+ type: array
+ hoursBetweenBackups:
+ description: The number of hours to wait between taking a backup
+ of the Cassandra Cluster. Defaults to 24.
+ type: number
+ id:
+ description: The ID of the Cassandra Cluster.
+ type: string
+ identity:
+ description: An identity block as defined below.
+ items:
+ properties:
+ principalId:
+ description: The ID of the Cassandra Cluster.
+ type: string
+ tenantId:
+ description: The ID of the Cassandra Cluster.
+ type: string
+ type:
+ description: Specifies the type of Managed Service Identity
+ that should be configured on this Cassandra Cluster. The
+ only possible value is SystemAssigned.
+ type: string
+ type: object
+ type: array
+ location:
+ description: The Azure Region where the Cassandra Cluster should
+ exist. Changing this forces a new Cassandra Cluster to be created.
+ type: string
+ repairEnabled:
+ description: Is the automatic repair enabled on the Cassandra
+ Cluster? Defaults to true.
+ type: boolean
+ resourceGroupName:
+ description: The name of the Resource Group where the Cassandra
+ Cluster should exist. Changing this forces a new Cassandra Cluster
+ to be created.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags assigned to the resource.
+ type: object
+ version:
+ description: The version of Cassandra what the Cluster converges
+ to run. Possible values are 3.11 and 4.0. Defaults to 3.11.
+ Changing this forces a new Cassandra Cluster to be created.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandradatacenters.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandradatacenters.yaml
new file mode 100644
index 000000000..3a4a5ec7a
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandradatacenters.yaml
@@ -0,0 +1,409 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: cassandradatacenters.cosmosdb.azure.kubedb.com
+spec:
+ group: cosmosdb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: CassandraDatacenter
+ listKind: CassandraDatacenterList
+ plural: cassandradatacenters
+ singular: cassandradatacenter
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: CassandraDatacenter is the Schema for the CassandraDatacenters
+ API. Manages a Cassandra Datacenter.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: CassandraDatacenterSpec defines the desired state of CassandraDatacenter
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ availabilityZonesEnabled:
+ description: Determines whether availability zones are enabled.
+ Defaults to true.
+ type: boolean
+ backupStorageCustomerKeyUri:
+ description: The key URI of the customer key to use for the encryption
+ of the backup Storage Account.
+ type: string
+ base64EncodedYamlFragment:
+ description: The fragment of the cassandra.yaml configuration
+ file to be included in the cassandra.yaml for all nodes in this
+ Cassandra Datacenter. The fragment should be Base64 encoded
+ and only a subset of keys is allowed.
+ type: string
+ cassandraClusterId:
+ description: The ID of the Cassandra Cluster. Changing this forces
+ a new Cassandra Datacenter to be created.
+ type: string
+ delegatedManagementSubnetId:
+ description: The ID of the delegated management subnet for this
+ Cassandra Datacenter. Changing this forces a new Cassandra Datacenter
+ to be created.
+ type: string
+ diskCount:
+ description: Determines the number of p30 disks that are attached
+ to each node.
+ type: number
+ diskSku:
+ description: The Disk SKU that is used for this Cassandra Datacenter.
+ Defaults to P30.
+ type: string
+ location:
+ description: The Azure Region where the Cassandra Datacenter should
+ exist. Changing this forces a new Cassandra Datacenter to be
+ created.
+ type: string
+ managedDiskCustomerKeyUri:
+ description: The key URI of the customer key to use for the encryption
+ of the Managed Disk.
+ type: string
+ nodeCount:
+ description: The number of nodes the Cassandra Datacenter should
+ have. The number should be equal or greater than 3. Defaults
+ to 3.
+ type: number
+ skuName:
+ description: Determines the selected sku.
+ type: string
+ required:
+ - cassandraClusterId
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: delegatedManagementSubnetId is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.delegatedManagementSubnetId)
+ - message: location is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location)
+ status:
+ description: CassandraDatacenterStatus defines the observed state of CassandraDatacenter.
+ properties:
+ atProvider:
+ properties:
+ availabilityZonesEnabled:
+ description: Determines whether availability zones are enabled.
+ Defaults to true.
+ type: boolean
+ backupStorageCustomerKeyUri:
+ description: The key URI of the customer key to use for the encryption
+ of the backup Storage Account.
+ type: string
+ base64EncodedYamlFragment:
+ description: The fragment of the cassandra.yaml configuration
+ file to be included in the cassandra.yaml for all nodes in this
+ Cassandra Datacenter. The fragment should be Base64 encoded
+ and only a subset of keys is allowed.
+ type: string
+ cassandraClusterId:
+ description: The ID of the Cassandra Cluster. Changing this forces
+ a new Cassandra Datacenter to be created.
+ type: string
+ delegatedManagementSubnetId:
+ description: The ID of the delegated management subnet for this
+ Cassandra Datacenter. Changing this forces a new Cassandra Datacenter
+ to be created.
+ type: string
+ diskCount:
+ description: Determines the number of p30 disks that are attached
+ to each node.
+ type: number
+ diskSku:
+ description: The Disk SKU that is used for this Cassandra Datacenter.
+ Defaults to P30.
+ type: string
+ id:
+ description: The ID of the Cassandra Datacenter.
+ type: string
+ location:
+ description: The Azure Region where the Cassandra Datacenter should
+ exist. Changing this forces a new Cassandra Datacenter to be
+ created.
+ type: string
+ managedDiskCustomerKeyUri:
+ description: The key URI of the customer key to use for the encryption
+ of the Managed Disk.
+ type: string
+ nodeCount:
+ description: The number of nodes the Cassandra Datacenter should
+ have. The number should be equal or greater than 3. Defaults
+ to 3.
+ type: number
+ skuName:
+ description: Determines the selected sku.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandrakeyspaces.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandrakeyspaces.yaml
new file mode 100644
index 000000000..c1a19c1bd
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandrakeyspaces.yaml
@@ -0,0 +1,359 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: cassandrakeyspaces.cosmosdb.azure.kubedb.com
+spec:
+ group: cosmosdb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: CassandraKeySpace
+ listKind: CassandraKeySpaceList
+ plural: cassandrakeyspaces
+ singular: cassandrakeyspace
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: CassandraKeySpace is the Schema for the CassandraKeySpaces API.
+ Manages a Cassandra KeySpace within a Cosmos DB Account.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: CassandraKeySpaceSpec defines the desired state of CassandraKeySpace
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ accountName:
+ description: The name of the Cosmos DB Cassandra KeySpace to create
+ the table within. Changing this forces a new resource to be
+ created.
+ type: string
+ autoscaleSettings:
+ description: An autoscale_settings block as defined below.
+ items:
+ properties:
+ maxThroughput:
+ description: The maximum throughput of the Cassandra KeySpace
+ (RU/s). Must be between 1,000 and 1,000,000. Must be set
+ in increments of 1,000. Conflicts with throughput.
+ type: number
+ type: object
+ type: array
+ resourceGroupName:
+ description: The name of the resource group in which the Cosmos
+ DB Cassandra KeySpace is created. Changing this forces a new
+ resource to be created.
+ type: string
+ throughput:
+ description: The throughput of Cassandra KeySpace (RU/s). Must
+ be set in increments of 100. The minimum value is 400.
+ type: number
+ required:
+ - accountName
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ status:
+ description: CassandraKeySpaceStatus defines the observed state of CassandraKeySpace.
+ properties:
+ atProvider:
+ properties:
+ accountName:
+ description: The name of the Cosmos DB Cassandra KeySpace to create
+ the table within. Changing this forces a new resource to be
+ created.
+ type: string
+ autoscaleSettings:
+ description: An autoscale_settings block as defined below.
+ items:
+ properties:
+ maxThroughput:
+ description: The maximum throughput of the Cassandra KeySpace
+ (RU/s). Must be between 1,000 and 1,000,000. Must be set
+ in increments of 1,000. Conflicts with throughput.
+ type: number
+ type: object
+ type: array
+ id:
+ description: the ID of the CosmosDB Cassandra KeySpace.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the Cosmos
+ DB Cassandra KeySpace is created. Changing this forces a new
+ resource to be created.
+ type: string
+ throughput:
+ description: The throughput of Cassandra KeySpace (RU/s). Must
+ be set in increments of 100. The minimum value is 400.
+ type: number
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandratables.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandratables.yaml
new file mode 100644
index 000000000..5802cb51b
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandratables.yaml
@@ -0,0 +1,535 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: cassandratables.cosmosdb.azure.kubedb.com
+spec:
+ group: cosmosdb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: CassandraTable
+ listKind: CassandraTableList
+ plural: cassandratables
+ singular: cassandratable
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: CassandraTable is the Schema for the CassandraTables API. Manages
+ a Cassandra Table within a Cosmos DB Cassandra Keyspace.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: CassandraTableSpec defines the desired state of CassandraTable
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ analyticalStorageTtl:
+ description: Time to live of the Analytical Storage. Possible
+ values are between -1 and 2147483647 except 0. -1 means the
+ Analytical Storage never expires. Changing this forces a new
+ resource to be created.
+ type: number
+ autoscaleSettings:
+ description: An autoscale_settings block as defined below.
+ items:
+ properties:
+ maxThroughput:
+ description: The maximum throughput of the Cassandra Table
+ (RU/s). Must be between 1,000 and 1,000,000. Must be set
+ in increments of 1,000. Conflicts with throughput.
+ type: number
+ type: object
+ type: array
+ cassandraKeyspaceId:
+ description: The ID of the Cosmos DB Cassandra Keyspace to create
+ the table within. Changing this forces a new resource to be
+ created.
+ type: string
+ cassandraKeyspaceIdRef:
+ description: Reference to a CassandraKeySpace to populate cassandraKeyspaceId.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ cassandraKeyspaceIdSelector:
+ description: Selector for a CassandraKeySpace to populate cassandraKeyspaceId.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ defaultTtl:
+ description: Time to live of the Cosmos DB Cassandra table. Possible
+ values are at least -1. -1 means the Cassandra table never expires.
+ type: number
+ schema:
+ description: A schema block as defined below.
+ items:
+ properties:
+ clusterKey:
+ description: One or more cluster_key blocks as defined below.
+ items:
+ properties:
+ name:
+ description: Name of the column to be created.
+ type: string
+ orderBy:
+ description: Order of the key. Currently supported
+ values are Asc and Desc.
+ type: string
+ required:
+ - name
+ - orderBy
+ type: object
+ type: array
+ column:
+ description: One or more column blocks as defined below.
+ items:
+ properties:
+ name:
+ description: Name of the column to be created.
+ type: string
+ type:
+ description: Type of the column to be created.
+ type: string
+ required:
+ - name
+ - type
+ type: object
+ type: array
+ partitionKey:
+ description: One or more partition_key blocks as defined
+ below.
+ items:
+ properties:
+ name:
+ description: Name of the column to be created.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ required:
+ - column
+ - partitionKey
+ type: object
+ type: array
+ throughput:
+ description: The throughput of Cassandra KeySpace (RU/s). Must
+ be set in increments of 100. The minimum value is 400.
+ type: number
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: schema is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.schema)
+ status:
+ description: CassandraTableStatus defines the observed state of CassandraTable.
+ properties:
+ atProvider:
+ properties:
+ analyticalStorageTtl:
+ description: Time to live of the Analytical Storage. Possible
+ values are between -1 and 2147483647 except 0. -1 means the
+ Analytical Storage never expires. Changing this forces a new
+ resource to be created.
+ type: number
+ autoscaleSettings:
+ description: An autoscale_settings block as defined below.
+ items:
+ properties:
+ maxThroughput:
+ description: The maximum throughput of the Cassandra Table
+ (RU/s). Must be between 1,000 and 1,000,000. Must be set
+ in increments of 1,000. Conflicts with throughput.
+ type: number
+ type: object
+ type: array
+ cassandraKeyspaceId:
+ description: The ID of the Cosmos DB Cassandra Keyspace to create
+ the table within. Changing this forces a new resource to be
+ created.
+ type: string
+ defaultTtl:
+ description: Time to live of the Cosmos DB Cassandra table. Possible
+ values are at least -1. -1 means the Cassandra table never expires.
+ type: number
+ id:
+ description: the ID of the CosmosDB Cassandra Table.
+ type: string
+ schema:
+ description: A schema block as defined below.
+ items:
+ properties:
+ clusterKey:
+ description: One or more cluster_key blocks as defined below.
+ items:
+ properties:
+ name:
+ description: Name of the column to be created.
+ type: string
+ orderBy:
+ description: Order of the key. Currently supported
+ values are Asc and Desc.
+ type: string
+ type: object
+ type: array
+ column:
+ description: One or more column blocks as defined below.
+ items:
+ properties:
+ name:
+ description: Name of the column to be created.
+ type: string
+ type:
+ description: Type of the column to be created.
+ type: string
+ type: object
+ type: array
+ partitionKey:
+ description: One or more partition_key blocks as defined
+ below.
+ items:
+ properties:
+ name:
+ description: Name of the column to be created.
+ type: string
+ type: object
+ type: array
+ type: object
+ type: array
+ throughput:
+ description: The throughput of Cassandra KeySpace (RU/s). Must
+ be set in increments of 100. The minimum value is 400.
+ type: number
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_gremlindatabases.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_gremlindatabases.yaml
new file mode 100644
index 000000000..8749f7c73
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_gremlindatabases.yaml
@@ -0,0 +1,357 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: gremlindatabases.cosmosdb.azure.kubedb.com
+spec:
+ group: cosmosdb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: GremlinDatabase
+ listKind: GremlinDatabaseList
+ plural: gremlindatabases
+ singular: gremlindatabase
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: GremlinDatabase is the Schema for the GremlinDatabases API. Manages
+ a Gremlin Database within a Cosmos DB Account.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: GremlinDatabaseSpec defines the desired state of GremlinDatabase
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ accountName:
+ description: The name of the CosmosDB Account to create the Gremlin
+ Database within. Changing this forces a new resource to be created.
+ type: string
+ autoscaleSettings:
+ description: An autoscale_settings block as defined below.
+ items:
+ properties:
+ maxThroughput:
+ description: The maximum throughput of the Gremlin database
+ (RU/s). Must be between 1,000 and 1,000,000. Must be set
+ in increments of 1,000. Conflicts with throughput.
+ type: number
+ type: object
+ type: array
+ resourceGroupName:
+ description: The name of the resource group in which the Cosmos
+ DB Gremlin Database is created. Changing this forces a new resource
+ to be created.
+ type: string
+ throughput:
+ description: The throughput of the Gremlin database (RU/s). Must
+ be set in increments of 100. The minimum value is 400.
+ type: number
+ required:
+ - accountName
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ status:
+ description: GremlinDatabaseStatus defines the observed state of GremlinDatabase.
+ properties:
+ atProvider:
+ properties:
+ accountName:
+ description: The name of the CosmosDB Account to create the Gremlin
+ Database within. Changing this forces a new resource to be created.
+ type: string
+ autoscaleSettings:
+ description: An autoscale_settings block as defined below.
+ items:
+ properties:
+ maxThroughput:
+ description: The maximum throughput of the Gremlin database
+ (RU/s). Must be between 1,000 and 1,000,000. Must be set
+ in increments of 1,000. Conflicts with throughput.
+ type: number
+ type: object
+ type: array
+ id:
+ description: The ID of the CosmosDB Gremlin Database.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the Cosmos
+ DB Gremlin Database is created. Changing this forces a new resource
+ to be created.
+ type: string
+ throughput:
+ description: The throughput of the Gremlin database (RU/s). Must
+ be set in increments of 100. The minimum value is 400.
+ type: number
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_gremlingraphs.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_gremlingraphs.yaml
new file mode 100644
index 000000000..80237a3ad
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_gremlingraphs.yaml
@@ -0,0 +1,680 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: gremlingraphs.cosmosdb.azure.kubedb.com
+spec:
+ group: cosmosdb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: GremlinGraph
+ listKind: GremlinGraphList
+ plural: gremlingraphs
+ singular: gremlingraph
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: GremlinGraph is the Schema for the GremlinGraphs API. Manages
+ a Gremlin Graph within a Cosmos DB Account.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: GremlinGraphSpec defines the desired state of GremlinGraph
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ accountName:
+ description: The name of the CosmosDB Account to create the Gremlin
+ Graph within. Changing this forces a new resource to be created.
+ type: string
+ autoscaleSettings:
+ description: An autoscale_settings block as defined below. Requires
+ partition_key_path to be set.
+ items:
+ properties:
+ maxThroughput:
+ description: The maximum throughput of the Gremlin graph
+ (RU/s). Must be between 1,000 and 1,000,000. Must be set
+ in increments of 1,000. Conflicts with throughput.
+ type: number
+ type: object
+ type: array
+ conflictResolutionPolicy:
+ description: A conflict_resolution_policy blocks as defined below.
+ Changing this forces a new resource to be created.
+ items:
+ properties:
+ conflictResolutionPath:
+ description: The conflict resolution path in the case of
+ LastWriterWins mode.
+ type: string
+ conflictResolutionProcedure:
+ description: The procedure to resolve conflicts in the case
+ of custom mode.
+ type: string
+ mode:
+ description: 'Indicates the conflict resolution mode. Possible
+ values include: LastWriterWins, Custom.'
+ type: string
+ required:
+ - mode
+ type: object
+ type: array
+ databaseName:
+ description: The name of the Cosmos DB Graph Database in which
+ the Cosmos DB Gremlin Graph is created. Changing this forces
+ a new resource to be created.
+ type: string
+ databaseNameRef:
+ description: Reference to a GremlinDatabase to populate databaseName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ databaseNameSelector:
+ description: Selector for a GremlinDatabase to populate databaseName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ defaultTtl:
+ description: The default time to live (TTL) of the Gremlin graph.
+ If the value is missing or set to "-1", items don’t expire.
+ type: number
+ indexPolicy:
+ description: The configuration of the indexing policy. One or
+ more index_policy blocks as defined below.
+ items:
+ properties:
+ automatic:
+ description: Indicates if the indexing policy is automatic.
+ Defaults to true.
+ type: boolean
+ compositeIndex:
+ description: One or more composite_index blocks as defined
+ below.
+ items:
+ properties:
+ index:
+ description: One or more index blocks as defined below.
+ items:
+ properties:
+ order:
+ description: Order of the index. Possible values
+ are Ascending or Descending.
+ type: string
+ path:
+ description: Path for which the indexing behaviour
+ applies to. According to the service design,
+ all spatial types including LineString, MultiPolygon,
+ Point, and Polygon will be applied to the
+ path.
+ type: string
+ required:
+ - order
+ - path
+ type: object
+ type: array
+ required:
+ - index
+ type: object
+ type: array
+ excludedPaths:
+ description: List of paths to exclude from indexing. Required
+ if indexing_mode is Consistent or Lazy.
+ items:
+ type: string
+ type: array
+ includedPaths:
+ description: List of paths to include in the indexing. Required
+ if indexing_mode is Consistent or Lazy.
+ items:
+ type: string
+ type: array
+ indexingMode:
+ description: 'Indicates the indexing mode. Possible values
+ include: Consistent, Lazy, None.'
+ type: string
+ spatialIndex:
+ description: One or more spatial_index blocks as defined
+ below.
+ items:
+ properties:
+ path:
+ description: Path for which the indexing behaviour
+ applies to. According to the service design, all
+ spatial types including LineString, MultiPolygon,
+ Point, and Polygon will be applied to the path.
+ type: string
+ required:
+ - path
+ type: object
+ type: array
+ required:
+ - indexingMode
+ type: object
+ type: array
+ partitionKeyPath:
+ description: Define a partition key. Changing this forces a new
+ resource to be created.
+ type: string
+ partitionKeyVersion:
+ description: Define a partition key version. Changing this forces
+ a new resource to be created. Possible values are 1and 2. This
+ should be set to 2 in order to use large partition keys.
+ type: number
+ resourceGroupName:
+ description: The name of the resource group in which the Cosmos
+ DB Gremlin Graph is created. Changing this forces a new resource
+ to be created.
+ type: string
+ throughput:
+ description: The throughput of the Gremlin graph (RU/s). Must
+ be set in increments of 100. The minimum value is 400.
+ type: number
+ uniqueKey:
+ description: One or more unique_key blocks as defined below. Changing
+ this forces a new resource to be created.
+ items:
+ properties:
+ paths:
+ description: A list of paths to use for this unique key.
+ Changing this forces a new resource to be created.
+ items:
+ type: string
+ type: array
+ required:
+ - paths
+ type: object
+ type: array
+ required:
+ - accountName
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: partitionKeyPath is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.partitionKeyPath)
+ status:
+ description: GremlinGraphStatus defines the observed state of GremlinGraph.
+ properties:
+ atProvider:
+ properties:
+ accountName:
+ description: The name of the CosmosDB Account to create the Gremlin
+ Graph within. Changing this forces a new resource to be created.
+ type: string
+ autoscaleSettings:
+ description: An autoscale_settings block as defined below. Requires
+ partition_key_path to be set.
+ items:
+ properties:
+ maxThroughput:
+ description: The maximum throughput of the Gremlin graph
+ (RU/s). Must be between 1,000 and 1,000,000. Must be set
+ in increments of 1,000. Conflicts with throughput.
+ type: number
+ type: object
+ type: array
+ conflictResolutionPolicy:
+ description: A conflict_resolution_policy blocks as defined below.
+ Changing this forces a new resource to be created.
+ items:
+ properties:
+ conflictResolutionPath:
+ description: The conflict resolution path in the case of
+ LastWriterWins mode.
+ type: string
+ conflictResolutionProcedure:
+ description: The procedure to resolve conflicts in the case
+ of custom mode.
+ type: string
+ mode:
+ description: 'Indicates the conflict resolution mode. Possible
+ values include: LastWriterWins, Custom.'
+ type: string
+ type: object
+ type: array
+ databaseName:
+ description: The name of the Cosmos DB Graph Database in which
+ the Cosmos DB Gremlin Graph is created. Changing this forces
+ a new resource to be created.
+ type: string
+ defaultTtl:
+ description: The default time to live (TTL) of the Gremlin graph.
+ If the value is missing or set to "-1", items don’t expire.
+ type: number
+ id:
+ description: The ID of the CosmosDB Gremlin Graph.
+ type: string
+ indexPolicy:
+ description: The configuration of the indexing policy. One or
+ more index_policy blocks as defined below.
+ items:
+ properties:
+ automatic:
+ description: Indicates if the indexing policy is automatic.
+ Defaults to true.
+ type: boolean
+ compositeIndex:
+ description: One or more composite_index blocks as defined
+ below.
+ items:
+ properties:
+ index:
+ description: One or more index blocks as defined below.
+ items:
+ properties:
+ order:
+ description: Order of the index. Possible values
+ are Ascending or Descending.
+ type: string
+ path:
+ description: Path for which the indexing behaviour
+ applies to. According to the service design,
+ all spatial types including LineString, MultiPolygon,
+ Point, and Polygon will be applied to the
+ path.
+ type: string
+ type: object
+ type: array
+ type: object
+ type: array
+ excludedPaths:
+ description: List of paths to exclude from indexing. Required
+ if indexing_mode is Consistent or Lazy.
+ items:
+ type: string
+ type: array
+ includedPaths:
+ description: List of paths to include in the indexing. Required
+ if indexing_mode is Consistent or Lazy.
+ items:
+ type: string
+ type: array
+ indexingMode:
+ description: 'Indicates the indexing mode. Possible values
+ include: Consistent, Lazy, None.'
+ type: string
+ spatialIndex:
+ description: One or more spatial_index blocks as defined
+ below.
+ items:
+ properties:
+ path:
+ description: Path for which the indexing behaviour
+ applies to. According to the service design, all
+ spatial types including LineString, MultiPolygon,
+ Point, and Polygon will be applied to the path.
+ type: string
+ types:
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ type: object
+ type: array
+ partitionKeyPath:
+ description: Define a partition key. Changing this forces a new
+ resource to be created.
+ type: string
+ partitionKeyVersion:
+ description: Define a partition key version. Changing this forces
+ a new resource to be created. Possible values are 1and 2. This
+ should be set to 2 in order to use large partition keys.
+ type: number
+ resourceGroupName:
+ description: The name of the resource group in which the Cosmos
+ DB Gremlin Graph is created. Changing this forces a new resource
+ to be created.
+ type: string
+ throughput:
+ description: The throughput of the Gremlin graph (RU/s). Must
+ be set in increments of 100. The minimum value is 400.
+ type: number
+ uniqueKey:
+ description: One or more unique_key blocks as defined below. Changing
+ this forces a new resource to be created.
+ items:
+ properties:
+ paths:
+ description: A list of paths to use for this unique key.
+ Changing this forces a new resource to be created.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_mongocollections.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_mongocollections.yaml
new file mode 100644
index 000000000..742414938
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_mongocollections.yaml
@@ -0,0 +1,522 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: mongocollections.cosmosdb.azure.kubedb.com
+spec:
+ group: cosmosdb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: MongoCollection
+ listKind: MongoCollectionList
+ plural: mongocollections
+ singular: mongocollection
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: MongoCollection is the Schema for the MongoCollections API. Manages
+ a Mongo Collection within a Cosmos DB Account.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: MongoCollectionSpec defines the desired state of MongoCollection
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ accountName:
+ description: The name of the Cosmos DB Account in which the Cosmos
+ DB Mongo Collection is created. Changing this forces a new resource
+ to be created.
+ type: string
+ analyticalStorageTtl:
+ description: The default time to live of Analytical Storage for
+ this Mongo Collection. If present and the value is set to -1,
+ it is equal to infinity, and items don’t expire by default.
+ If present and the value is set to some number n – items will
+ expire n seconds after their last modified time.
+ type: number
+ autoscaleSettings:
+ description: An autoscale_settings block as defined below.
+ items:
+ properties:
+ maxThroughput:
+ description: The maximum throughput of the MongoDB collection
+ (RU/s). Must be between 1,000 and 1,000,000. Must be set
+ in increments of 1,000. Conflicts with throughput.
+ type: number
+ type: object
+ type: array
+ databaseName:
+ description: The name of the Cosmos DB Mongo Database in which
+ the Cosmos DB Mongo Collection is created. Changing this forces
+ a new resource to be created.
+ type: string
+ databaseNameRef:
+ description: Reference to a MongoDatabase to populate databaseName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ databaseNameSelector:
+ description: Selector for a MongoDatabase to populate databaseName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ defaultTtlSeconds:
+ description: The default Time To Live in seconds. If the value
+ is -1, items are not automatically expired.
+ type: number
+ index:
+ description: One or more index blocks as defined below.
+ items:
+ properties:
+ keys:
+ description: Specifies the list of user settable keys for
+ each Cosmos DB Mongo Collection.
+ items:
+ type: string
+ type: array
+ unique:
+ description: Is the index unique or not? Defaults to false.
+ type: boolean
+ required:
+ - keys
+ type: object
+ type: array
+ resourceGroupName:
+ description: The name of the resource group in which the Cosmos
+ DB Mongo Collection is created. Changing this forces a new resource
+ to be created.
+ type: string
+ shardKey:
+ description: The name of the key to partition on for sharding.
+ There must not be any other unique index keys. Changing this
+ forces a new resource to be created.
+ type: string
+ throughput:
+ description: The throughput of the MongoDB collection (RU/s).
+ Must be set in increments of 100. The minimum value is 400.
+ type: number
+ required:
+ - accountName
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ status:
+ description: MongoCollectionStatus defines the observed state of MongoCollection.
+ properties:
+ atProvider:
+ properties:
+ accountName:
+ description: The name of the Cosmos DB Account in which the Cosmos
+ DB Mongo Collection is created. Changing this forces a new resource
+ to be created.
+ type: string
+ analyticalStorageTtl:
+ description: The default time to live of Analytical Storage for
+ this Mongo Collection. If present and the value is set to -1,
+ it is equal to infinity, and items don’t expire by default.
+ If present and the value is set to some number n – items will
+ expire n seconds after their last modified time.
+ type: number
+ autoscaleSettings:
+ description: An autoscale_settings block as defined below.
+ items:
+ properties:
+ maxThroughput:
+ description: The maximum throughput of the MongoDB collection
+ (RU/s). Must be between 1,000 and 1,000,000. Must be set
+ in increments of 1,000. Conflicts with throughput.
+ type: number
+ type: object
+ type: array
+ databaseName:
+ description: The name of the Cosmos DB Mongo Database in which
+ the Cosmos DB Mongo Collection is created. Changing this forces
+ a new resource to be created.
+ type: string
+ defaultTtlSeconds:
+ description: The default Time To Live in seconds. If the value
+ is -1, items are not automatically expired.
+ type: number
+ id:
+ description: The ID of the Cosmos DB Mongo Collection.
+ type: string
+ index:
+ description: One or more index blocks as defined below.
+ items:
+ properties:
+ keys:
+ description: Specifies the list of user settable keys for
+ each Cosmos DB Mongo Collection.
+ items:
+ type: string
+ type: array
+ unique:
+ description: Is the index unique or not? Defaults to false.
+ type: boolean
+ type: object
+ type: array
+ resourceGroupName:
+ description: The name of the resource group in which the Cosmos
+ DB Mongo Collection is created. Changing this forces a new resource
+ to be created.
+ type: string
+ shardKey:
+ description: The name of the key to partition on for sharding.
+ There must not be any other unique index keys. Changing this
+ forces a new resource to be created.
+ type: string
+ systemIndexes:
+ description: One or more system_indexes blocks as defined below.
+ items:
+ properties:
+ keys:
+ description: The list of system keys which are not settable
+ for each Cosmos DB Mongo Collection.
+ items:
+ type: string
+ type: array
+ unique:
+ description: Identifies whether the table contains no duplicate
+ values.
+ type: boolean
+ type: object
+ type: array
+ throughput:
+ description: The throughput of the MongoDB collection (RU/s).
+ Must be set in increments of 100. The minimum value is 400.
+ type: number
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_mongodatabases.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_mongodatabases.yaml
new file mode 100644
index 000000000..ccfa9c0e7
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_mongodatabases.yaml
@@ -0,0 +1,359 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: mongodatabases.cosmosdb.azure.kubedb.com
+spec:
+ group: cosmosdb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: MongoDatabase
+ listKind: MongoDatabaseList
+ plural: mongodatabases
+ singular: mongodatabase
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: MongoDatabase is the Schema for the MongoDatabases API. Manages
+ a Mongo Database within a Cosmos DB Account.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: MongoDatabaseSpec defines the desired state of MongoDatabase
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ accountName:
+ description: The name of the Cosmos DB Mongo Database to create
+ the table within. Changing this forces a new resource to be
+ created.
+ type: string
+ autoscaleSettings:
+ description: An autoscale_settings block as defined below.
+ items:
+ properties:
+ maxThroughput:
+ description: The maximum throughput of the MongoDB database
+ (RU/s). Must be between 1,000 and 1,000,000. Must be set
+ in increments of 1,000. Conflicts with throughput.
+ type: number
+ type: object
+ type: array
+ resourceGroupName:
+ description: The name of the resource group in which the Cosmos
+ DB Mongo Database is created. Changing this forces a new resource
+ to be created.
+ type: string
+ throughput:
+ description: The throughput of the MongoDB database (RU/s). Must
+ be set in increments of 100. The minimum value is 400.
+ type: number
+ required:
+ - accountName
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ status:
+ description: MongoDatabaseStatus defines the observed state of MongoDatabase.
+ properties:
+ atProvider:
+ properties:
+ accountName:
+ description: The name of the Cosmos DB Mongo Database to create
+ the table within. Changing this forces a new resource to be
+ created.
+ type: string
+ autoscaleSettings:
+ description: An autoscale_settings block as defined below.
+ items:
+ properties:
+ maxThroughput:
+ description: The maximum throughput of the MongoDB database
+ (RU/s). Must be between 1,000 and 1,000,000. Must be set
+ in increments of 1,000. Conflicts with throughput.
+ type: number
+ type: object
+ type: array
+ id:
+ description: The ID of the Cosmos DB Mongo Database.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the Cosmos
+ DB Mongo Database is created. Changing this forces a new resource
+ to be created.
+ type: string
+ throughput:
+ description: The throughput of the MongoDB database (RU/s). Must
+ be set in increments of 100. The minimum value is 400.
+ type: number
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlcontainers.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlcontainers.yaml
new file mode 100644
index 000000000..bd9394ae8
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlcontainers.yaml
@@ -0,0 +1,725 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: sqlcontainers.cosmosdb.azure.kubedb.com
+spec:
+ group: cosmosdb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: SQLContainer
+ listKind: SQLContainerList
+ plural: sqlcontainers
+ singular: sqlcontainer
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: SQLContainer is the Schema for the SQLContainers API. Manages
+ a SQL Container within a Cosmos DB Account.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SQLContainerSpec defines the desired state of SQLContainer
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ accountName:
+ description: The name of the Cosmos DB Account to create the container
+ within. Changing this forces a new resource to be created.
+ type: string
+ analyticalStorageTtl:
+ description: The default time to live of Analytical Storage for
+ this SQL container. If present and the value is set to -1, it
+ is equal to infinity, and items don’t expire by default. If
+ present and the value is set to some number n – items will expire
+ n seconds after their last modified time.
+ type: number
+ autoscaleSettings:
+ description: An autoscale_settings block as defined below. Requires
+ partition_key_path to be set.
+ items:
+ properties:
+ maxThroughput:
+ description: The maximum throughput of the SQL container
+ (RU/s). Must be between 1,000 and 1,000,000. Must be set
+ in increments of 1,000. Conflicts with throughput.
+ type: number
+ type: object
+ type: array
+ conflictResolutionPolicy:
+ description: A conflict_resolution_policy blocks as defined below.
+ Changing this forces a new resource to be created.
+ items:
+ properties:
+ conflictResolutionPath:
+ description: The conflict resolution path in the case of
+ LastWriterWins mode.
+ type: string
+ conflictResolutionProcedure:
+ description: The procedure to resolve conflicts in the case
+ of Custom mode.
+ type: string
+ mode:
+ description: 'Indicates the conflict resolution mode. Possible
+ values include: LastWriterWins, Custom.'
+ type: string
+ required:
+ - mode
+ type: object
+ type: array
+ databaseName:
+ description: The name of the Cosmos DB SQL Database to create
+ the container within. Changing this forces a new resource to
+ be created.
+ type: string
+ databaseNameRef:
+ description: Reference to a SQLDatabase to populate databaseName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ databaseNameSelector:
+ description: Selector for a SQLDatabase to populate databaseName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ defaultTtl:
+ description: The default time to live of SQL container. If missing,
+ items are not expired automatically. If present and the value
+ is set to -1, it is equal to infinity, and items don’t expire
+ by default. If present and the value is set to some number n
+ – items will expire n seconds after their last modified time.
+ type: number
+ indexingPolicy:
+ description: An indexing_policy block as defined below.
+ items:
+ properties:
+ compositeIndex:
+ description: One or more composite_index blocks as defined
+ below.
+ items:
+ properties:
+ index:
+ description: One or more index blocks as defined below.
+ items:
+ properties:
+ order:
+ description: Order of the index. Possible values
+ are Ascending or Descending.
+ type: string
+ path:
+ description: Path for which the indexing behaviour
+ applies to. According to the service design,
+ all spatial types including LineString, MultiPolygon,
+ Point, and Polygon will be applied to the
+ path.
+ type: string
+ required:
+ - order
+ - path
+ type: object
+ type: array
+ required:
+ - index
+ type: object
+ type: array
+ excludedPath:
+ description: One or more excluded_path blocks as defined
+ below. Either included_path or excluded_path must contain
+ the path /*
+ items:
+ properties:
+ path:
+ description: Path for which the indexing behaviour
+ applies to. According to the service design, all
+ spatial types including LineString, MultiPolygon,
+ Point, and Polygon will be applied to the path.
+ type: string
+ required:
+ - path
+ type: object
+ type: array
+ includedPath:
+ description: One or more included_path blocks as defined
+ below. Either included_path or excluded_path must contain
+ the path /*
+ items:
+ properties:
+ path:
+ description: Path for which the indexing behaviour
+ applies to. According to the service design, all
+ spatial types including LineString, MultiPolygon,
+ Point, and Polygon will be applied to the path.
+ type: string
+ required:
+ - path
+ type: object
+ type: array
+ indexingMode:
+ description: 'Indicates the indexing mode. Possible values
+ include: consistent and none. Defaults to consistent.'
+ type: string
+ spatialIndex:
+ description: One or more spatial_index blocks as defined
+ below.
+ items:
+ properties:
+ path:
+ description: Path for which the indexing behaviour
+ applies to. According to the service design, all
+ spatial types including LineString, MultiPolygon,
+ Point, and Polygon will be applied to the path.
+ type: string
+ required:
+ - path
+ type: object
+ type: array
+ type: object
+ type: array
+ partitionKeyPath:
+ description: Define a partition key. Changing this forces a new
+ resource to be created.
+ type: string
+ partitionKeyVersion:
+ description: Define a partition key version. Changing this forces
+ a new resource to be created. Possible values are 1and 2. This
+ should be set to 2 in order to use large partition keys.
+ type: number
+ resourceGroupName:
+ description: The name of the resource group in which the Cosmos
+ DB SQL Container is created. Changing this forces a new resource
+ to be created.
+ type: string
+ throughput:
+ description: The throughput of SQL container (RU/s). Must be set
+ in increments of 100. The minimum value is 400.
+ type: number
+ uniqueKey:
+ description: One or more unique_key blocks as defined below. Changing
+ this forces a new resource to be created.
+ items:
+ properties:
+ paths:
+ description: A list of paths to use for this unique key.
+ Changing this forces a new resource to be created.
+ items:
+ type: string
+ type: array
+ required:
+ - paths
+ type: object
+ type: array
+ required:
+ - accountName
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: partitionKeyPath is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.partitionKeyPath)
+ status:
+ description: SQLContainerStatus defines the observed state of SQLContainer.
+ properties:
+ atProvider:
+ properties:
+ accountName:
+ description: The name of the Cosmos DB Account to create the container
+ within. Changing this forces a new resource to be created.
+ type: string
+ analyticalStorageTtl:
+ description: The default time to live of Analytical Storage for
+ this SQL container. If present and the value is set to -1, it
+ is equal to infinity, and items don’t expire by default. If
+ present and the value is set to some number n – items will expire
+ n seconds after their last modified time.
+ type: number
+ autoscaleSettings:
+ description: An autoscale_settings block as defined below. Requires
+ partition_key_path to be set.
+ items:
+ properties:
+ maxThroughput:
+ description: The maximum throughput of the SQL container
+ (RU/s). Must be between 1,000 and 1,000,000. Must be set
+ in increments of 1,000. Conflicts with throughput.
+ type: number
+ type: object
+ type: array
+ conflictResolutionPolicy:
+ description: A conflict_resolution_policy blocks as defined below.
+ Changing this forces a new resource to be created.
+ items:
+ properties:
+ conflictResolutionPath:
+ description: The conflict resolution path in the case of
+ LastWriterWins mode.
+ type: string
+ conflictResolutionProcedure:
+ description: The procedure to resolve conflicts in the case
+ of Custom mode.
+ type: string
+ mode:
+ description: 'Indicates the conflict resolution mode. Possible
+ values include: LastWriterWins, Custom.'
+ type: string
+ type: object
+ type: array
+ databaseName:
+ description: The name of the Cosmos DB SQL Database to create
+ the container within. Changing this forces a new resource to
+ be created.
+ type: string
+ defaultTtl:
+ description: The default time to live of SQL container. If missing,
+ items are not expired automatically. If present and the value
+ is set to -1, it is equal to infinity, and items don’t expire
+ by default. If present and the value is set to some number n
+ – items will expire n seconds after their last modified time.
+ type: number
+ id:
+ description: The ID of the CosmosDB SQL Container.
+ type: string
+ indexingPolicy:
+ description: An indexing_policy block as defined below.
+ items:
+ properties:
+ compositeIndex:
+ description: One or more composite_index blocks as defined
+ below.
+ items:
+ properties:
+ index:
+ description: One or more index blocks as defined below.
+ items:
+ properties:
+ order:
+ description: Order of the index. Possible values
+ are Ascending or Descending.
+ type: string
+ path:
+ description: Path for which the indexing behaviour
+ applies to. According to the service design,
+ all spatial types including LineString, MultiPolygon,
+ Point, and Polygon will be applied to the
+ path.
+ type: string
+ type: object
+ type: array
+ type: object
+ type: array
+ excludedPath:
+ description: One or more excluded_path blocks as defined
+ below. Either included_path or excluded_path must contain
+ the path /*
+ items:
+ properties:
+ path:
+ description: Path for which the indexing behaviour
+ applies to. According to the service design, all
+ spatial types including LineString, MultiPolygon,
+ Point, and Polygon will be applied to the path.
+ type: string
+ type: object
+ type: array
+ includedPath:
+ description: One or more included_path blocks as defined
+ below. Either included_path or excluded_path must contain
+ the path /*
+ items:
+ properties:
+ path:
+ description: Path for which the indexing behaviour
+ applies to. According to the service design, all
+ spatial types including LineString, MultiPolygon,
+ Point, and Polygon will be applied to the path.
+ type: string
+ type: object
+ type: array
+ indexingMode:
+ description: 'Indicates the indexing mode. Possible values
+ include: consistent and none. Defaults to consistent.'
+ type: string
+ spatialIndex:
+ description: One or more spatial_index blocks as defined
+ below.
+ items:
+ properties:
+ path:
+ description: Path for which the indexing behaviour
+ applies to. According to the service design, all
+ spatial types including LineString, MultiPolygon,
+ Point, and Polygon will be applied to the path.
+ type: string
+ types:
+ description: A set of spatial types of the path.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ type: object
+ type: array
+ partitionKeyPath:
+ description: Define a partition key. Changing this forces a new
+ resource to be created.
+ type: string
+ partitionKeyVersion:
+ description: Define a partition key version. Changing this forces
+ a new resource to be created. Possible values are 1and 2. This
+ should be set to 2 in order to use large partition keys.
+ type: number
+ resourceGroupName:
+ description: The name of the resource group in which the Cosmos
+ DB SQL Container is created. Changing this forces a new resource
+ to be created.
+ type: string
+ throughput:
+ description: The throughput of SQL container (RU/s). Must be set
+ in increments of 100. The minimum value is 400.
+ type: number
+ uniqueKey:
+ description: One or more unique_key blocks as defined below. Changing
+ this forces a new resource to be created.
+ items:
+ properties:
+ paths:
+ description: A list of paths to use for this unique key.
+ Changing this forces a new resource to be created.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqldatabases.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqldatabases.yaml
new file mode 100644
index 000000000..254e529b4
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqldatabases.yaml
@@ -0,0 +1,363 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: sqldatabases.cosmosdb.azure.kubedb.com
+spec:
+ group: cosmosdb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: SQLDatabase
+ listKind: SQLDatabaseList
+ plural: sqldatabases
+ singular: sqldatabase
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: SQLDatabase is the Schema for the SQLDatabases API. Manages a
+ SQL Database within a Cosmos DB Account.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SQLDatabaseSpec defines the desired state of SQLDatabase
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ accountName:
+ description: The name of the Cosmos DB SQL Database to create
+ the table within. Changing this forces a new resource to be
+ created.
+ type: string
+ autoscaleSettings:
+ description: An autoscale_settings block as defined below.
+ items:
+ properties:
+ maxThroughput:
+ description: The maximum throughput of the SQL database
+ (RU/s). Must be between 1,000 and 1,000,000. Must be set
+ in increments of 1,000. Conflicts with throughput.
+ type: number
+ type: object
+ type: array
+ resourceGroupName:
+ description: The name of the resource group in which the Cosmos
+ DB SQL Database is created. Changing this forces a new resource
+ to be created.
+ type: string
+ throughput:
+ description: The throughput of SQL database (RU/s). Must be set
+ in increments of 100. The minimum value is 400. Do not set when
+ azurerm_cosmosdb_account is configured with EnableServerless
+ capability.
+ type: number
+ required:
+ - accountName
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ status:
+ description: SQLDatabaseStatus defines the observed state of SQLDatabase.
+ properties:
+ atProvider:
+ properties:
+ accountName:
+ description: The name of the Cosmos DB SQL Database to create
+ the table within. Changing this forces a new resource to be
+ created.
+ type: string
+ autoscaleSettings:
+ description: An autoscale_settings block as defined below.
+ items:
+ properties:
+ maxThroughput:
+ description: The maximum throughput of the SQL database
+ (RU/s). Must be between 1,000 and 1,000,000. Must be set
+ in increments of 1,000. Conflicts with throughput.
+ type: number
+ type: object
+ type: array
+ id:
+ description: The ID of the CosmosDB SQL Database.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the Cosmos
+ DB SQL Database is created. Changing this forces a new resource
+ to be created.
+ type: string
+ throughput:
+ description: The throughput of SQL database (RU/s). Must be set
+ in increments of 100. The minimum value is 400. Do not set when
+ azurerm_cosmosdb_account is configured with EnableServerless
+ capability.
+ type: number
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqldedicatedgateways.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqldedicatedgateways.yaml
new file mode 100644
index 000000000..9bfb9d89e
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqldedicatedgateways.yaml
@@ -0,0 +1,339 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: sqldedicatedgateways.cosmosdb.azure.kubedb.com
+spec:
+ group: cosmosdb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: SQLDedicatedGateway
+ listKind: SQLDedicatedGatewayList
+ plural: sqldedicatedgateways
+ singular: sqldedicatedgateway
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: SQLDedicatedGateway is the Schema for the SQLDedicatedGateways
+ API. Manages a SQL Dedicated Gateway within a Cosmos DB Account.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SQLDedicatedGatewaySpec defines the desired state of SQLDedicatedGateway
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ cosmosdbAccountId:
+ description: The resource ID of the CosmosDB Account. Changing
+ this forces a new resource to be created.
+ type: string
+ instanceCount:
+ description: The instance count for the CosmosDB SQL Dedicated
+ Gateway. Possible value is between 1 and 5.
+ type: number
+ instanceSize:
+ description: The instance size for the CosmosDB SQL Dedicated
+ Gateway. Changing this forces a new resource to be created.
+ Possible values are Cosmos.D4s, Cosmos.D8s and Cosmos.D16s.
+ type: string
+ required:
+ - cosmosdbAccountId
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: instanceCount is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.instanceCount)
+ - message: instanceSize is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.instanceSize)
+ status:
+ description: SQLDedicatedGatewayStatus defines the observed state of SQLDedicatedGateway.
+ properties:
+ atProvider:
+ properties:
+ cosmosdbAccountId:
+ description: The resource ID of the CosmosDB Account. Changing
+ this forces a new resource to be created.
+ type: string
+ id:
+ description: The ID of the CosmosDB SQL Dedicated Gateway.
+ type: string
+ instanceCount:
+ description: The instance count for the CosmosDB SQL Dedicated
+ Gateway. Possible value is between 1 and 5.
+ type: number
+ instanceSize:
+ description: The instance size for the CosmosDB SQL Dedicated
+ Gateway. Changing this forces a new resource to be created.
+ Possible values are Cosmos.D4s, Cosmos.D8s and Cosmos.D16s.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlfunctions.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlfunctions.yaml
new file mode 100644
index 000000000..471c92607
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlfunctions.yaml
@@ -0,0 +1,398 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: sqlfunctions.cosmosdb.azure.kubedb.com
+spec:
+ group: cosmosdb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: SQLFunction
+ listKind: SQLFunctionList
+ plural: sqlfunctions
+ singular: sqlfunction
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: SQLFunction is the Schema for the SQLFunctions API. Manages an
+ SQL User Defined Function.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SQLFunctionSpec defines the desired state of SQLFunction
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ body:
+ description: Body of the User Defined Function.
+ type: string
+ containerId:
+ description: The id of the Cosmos DB SQL Container to create the
+ SQL User Defined Function within. Changing this forces a new
+ SQL User Defined Function to be created.
+ type: string
+ containerIdRef:
+ description: Reference to a SQLContainer to populate containerId.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ containerIdSelector:
+ description: Selector for a SQLContainer to populate containerId.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: body is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.body)
+ status:
+ description: SQLFunctionStatus defines the observed state of SQLFunction.
+ properties:
+ atProvider:
+ properties:
+ body:
+ description: Body of the User Defined Function.
+ type: string
+ containerId:
+ description: The id of the Cosmos DB SQL Container to create the
+ SQL User Defined Function within. Changing this forces a new
+ SQL User Defined Function to be created.
+ type: string
+ id:
+ description: The ID of the SQL User Defined Function.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlroleassignments.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlroleassignments.yaml
new file mode 100644
index 000000000..2d46c1317
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlroleassignments.yaml
@@ -0,0 +1,369 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: sqlroleassignments.cosmosdb.azure.kubedb.com
+spec:
+ group: cosmosdb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: SQLRoleAssignment
+ listKind: SQLRoleAssignmentList
+ plural: sqlroleassignments
+ singular: sqlroleassignment
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: SQLRoleAssignment is the Schema for the SQLRoleAssignments API.
+ Manages a Cosmos DB SQL Role Assignment.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SQLRoleAssignmentSpec defines the desired state of SQLRoleAssignment
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ accountName:
+ description: The name of the Cosmos DB Account. Changing this
+ forces a new resource to be created.
+ type: string
+ name:
+ description: The GUID as the name of the Cosmos DB SQL Role Assignment
+ - one will be generated if not specified. Changing this forces
+ a new resource to be created.
+ type: string
+ principalId:
+ description: The ID of the Principal (Client) in Azure Active
+ Directory. Changing this forces a new resource to be created.
+ type: string
+ resourceGroupName:
+ description: The name of the Resource Group in which the Cosmos
+ DB SQL Role Assignment is created. Changing this forces a new
+ resource to be created.
+ type: string
+ roleDefinitionId:
+ description: The resource ID of the Cosmos DB SQL Role Definition.
+ type: string
+ scope:
+ description: The data plane resource path for which access is
+ being granted through this Cosmos DB SQL Role Assignment. Changing
+ this forces a new resource to be created.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: accountName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.accountName)
+ - message: principalId is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.principalId)
+ - message: resourceGroupName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.resourceGroupName)
+ - message: roleDefinitionId is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.roleDefinitionId)
+ - message: scope is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.scope)
+ status:
+ description: SQLRoleAssignmentStatus defines the observed state of SQLRoleAssignment.
+ properties:
+ atProvider:
+ properties:
+ accountName:
+ description: The name of the Cosmos DB Account. Changing this
+ forces a new resource to be created.
+ type: string
+ id:
+ description: The ID of the Cosmos DB SQL Role Assignment.
+ type: string
+ name:
+ description: The GUID as the name of the Cosmos DB SQL Role Assignment
+ - one will be generated if not specified. Changing this forces
+ a new resource to be created.
+ type: string
+ principalId:
+ description: The ID of the Principal (Client) in Azure Active
+ Directory. Changing this forces a new resource to be created.
+ type: string
+ resourceGroupName:
+ description: The name of the Resource Group in which the Cosmos
+ DB SQL Role Assignment is created. Changing this forces a new
+ resource to be created.
+ type: string
+ roleDefinitionId:
+ description: The resource ID of the Cosmos DB SQL Role Definition.
+ type: string
+ scope:
+ description: The data plane resource path for which access is
+ being granted through this Cosmos DB SQL Role Assignment. Changing
+ this forces a new resource to be created.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlroledefinitions.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlroledefinitions.yaml
new file mode 100644
index 000000000..12ce99528
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlroledefinitions.yaml
@@ -0,0 +1,409 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: sqlroledefinitions.cosmosdb.azure.kubedb.com
+spec:
+ group: cosmosdb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: SQLRoleDefinition
+ listKind: SQLRoleDefinitionList
+ plural: sqlroledefinitions
+ singular: sqlroledefinition
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: SQLRoleDefinition is the Schema for the SQLRoleDefinitions API.
+ Manages a Cosmos DB SQL Role Definition.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SQLRoleDefinitionSpec defines the desired state of SQLRoleDefinition
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ accountName:
+ description: The name of the Cosmos DB Account. Changing this
+ forces a new resource to be created.
+ type: string
+ assignableScopes:
+ description: A list of fully qualified scopes at or below which
+ Role Assignments may be created using this Cosmos DB SQL Role
+ Definition. It will allow application of this Cosmos DB SQL
+ Role Definition on the entire Database Account or any underlying
+ Database/Collection. Scopes higher than Database Account are
+ not enforceable as assignable scopes.
+ items:
+ type: string
+ type: array
+ name:
+ description: An user-friendly name for the Cosmos DB SQL Role
+ Definition which must be unique for the Database Account.
+ type: string
+ permissions:
+ description: A permissions block as defined below.
+ items:
+ properties:
+ dataActions:
+ description: A list of data actions that are allowed for
+ the Cosmos DB SQL Role Definition.
+ items:
+ type: string
+ type: array
+ required:
+ - dataActions
+ type: object
+ type: array
+ resourceGroupName:
+ description: The name of the Resource Group in which the Cosmos
+ DB SQL Role Definition is created. Changing this forces a new
+ resource to be created.
+ type: string
+ roleDefinitionId:
+ description: The GUID as the name of the Cosmos DB SQL Role Definition
+ - one will be generated if not specified. Changing this forces
+ a new resource to be created.
+ type: string
+ type:
+ description: The type of the Cosmos DB SQL Role Definition. Possible
+ values are BuiltInRole and CustomRole. Defaults to CustomRole.
+ Changing this forces a new resource to be created.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: accountName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.accountName)
+ - message: assignableScopes is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.assignableScopes)
+ - message: name is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name)
+ - message: permissions is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.permissions)
+ - message: resourceGroupName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.resourceGroupName)
+ status:
+ description: SQLRoleDefinitionStatus defines the observed state of SQLRoleDefinition.
+ properties:
+ atProvider:
+ properties:
+ accountName:
+ description: The name of the Cosmos DB Account. Changing this
+ forces a new resource to be created.
+ type: string
+ assignableScopes:
+ description: A list of fully qualified scopes at or below which
+ Role Assignments may be created using this Cosmos DB SQL Role
+ Definition. It will allow application of this Cosmos DB SQL
+ Role Definition on the entire Database Account or any underlying
+ Database/Collection. Scopes higher than Database Account are
+ not enforceable as assignable scopes.
+ items:
+ type: string
+ type: array
+ id:
+ description: The ID of the Cosmos DB SQL Role Definition.
+ type: string
+ name:
+ description: An user-friendly name for the Cosmos DB SQL Role
+ Definition which must be unique for the Database Account.
+ type: string
+ permissions:
+ description: A permissions block as defined below.
+ items:
+ properties:
+ dataActions:
+ description: A list of data actions that are allowed for
+ the Cosmos DB SQL Role Definition.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ resourceGroupName:
+ description: The name of the Resource Group in which the Cosmos
+ DB SQL Role Definition is created. Changing this forces a new
+ resource to be created.
+ type: string
+ roleDefinitionId:
+ description: The GUID as the name of the Cosmos DB SQL Role Definition
+ - one will be generated if not specified. Changing this forces
+ a new resource to be created.
+ type: string
+ type:
+ description: The type of the Cosmos DB SQL Role Definition. Possible
+ values are BuiltInRole and CustomRole. Defaults to CustomRole.
+ Changing this forces a new resource to be created.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlstoredprocedures.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlstoredprocedures.yaml
new file mode 100644
index 000000000..0e42b2c91
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlstoredprocedures.yaml
@@ -0,0 +1,504 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: sqlstoredprocedures.cosmosdb.azure.kubedb.com
+spec:
+ group: cosmosdb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: SQLStoredProcedure
+ listKind: SQLStoredProcedureList
+ plural: sqlstoredprocedures
+ singular: sqlstoredprocedure
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: SQLStoredProcedure is the Schema for the SQLStoredProcedures
+ API. Manages a SQL Stored Procedure within a Cosmos DB Account SQL Database.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SQLStoredProcedureSpec defines the desired state of SQLStoredProcedure
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ accountName:
+ description: The name of the Cosmos DB Account to create the stored
+ procedure within. Changing this forces a new resource to be
+ created.
+ type: string
+ body:
+ description: The body of the stored procedure.
+ type: string
+ containerName:
+ description: The name of the Cosmos DB SQL Container to create
+ the stored procedure within. Changing this forces a new resource
+ to be created.
+ type: string
+ containerNameRef:
+ description: Reference to a SQLContainer to populate containerName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ containerNameSelector:
+ description: Selector for a SQLContainer to populate containerName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ databaseName:
+ description: The name of the Cosmos DB SQL Database to create
+ the stored procedure within. Changing this forces a new resource
+ to be created.
+ type: string
+ databaseNameRef:
+ description: Reference to a SQLDatabase to populate databaseName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ databaseNameSelector:
+ description: Selector for a SQLDatabase to populate databaseName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ resourceGroupName:
+ description: The name of the resource group in which the Cosmos
+ DB SQL Database is created. Changing this forces a new resource
+ to be created.
+ type: string
+ required:
+ - accountName
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: body is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.body)
+ status:
+ description: SQLStoredProcedureStatus defines the observed state of SQLStoredProcedure.
+ properties:
+ atProvider:
+ properties:
+ accountName:
+ description: The name of the Cosmos DB Account to create the stored
+ procedure within. Changing this forces a new resource to be
+ created.
+ type: string
+ body:
+ description: The body of the stored procedure.
+ type: string
+ containerName:
+ description: The name of the Cosmos DB SQL Container to create
+ the stored procedure within. Changing this forces a new resource
+ to be created.
+ type: string
+ databaseName:
+ description: The name of the Cosmos DB SQL Database to create
+ the stored procedure within. Changing this forces a new resource
+ to be created.
+ type: string
+ id:
+ description: The ID of the Cosmos DB SQL Stored Procedure.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the Cosmos
+ DB SQL Database is created. Changing this forces a new resource
+ to be created.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqltriggers.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqltriggers.yaml
new file mode 100644
index 000000000..3f1615ac4
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqltriggers.yaml
@@ -0,0 +1,418 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: sqltriggers.cosmosdb.azure.kubedb.com
+spec:
+ group: cosmosdb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: SQLTrigger
+ listKind: SQLTriggerList
+ plural: sqltriggers
+ singular: sqltrigger
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: SQLTrigger is the Schema for the SQLTriggers API. Manages an
+ SQL Trigger.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SQLTriggerSpec defines the desired state of SQLTrigger
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ body:
+ description: Body of the Trigger.
+ type: string
+ containerId:
+ description: The id of the Cosmos DB SQL Container to create the
+ SQL Trigger within. Changing this forces a new SQL Trigger to
+ be created.
+ type: string
+ containerIdRef:
+ description: Reference to a SQLContainer to populate containerId.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ containerIdSelector:
+ description: Selector for a SQLContainer to populate containerId.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ operation:
+ description: The operation the trigger is associated with. Possible
+ values are All, Create, Update, Delete and Replace.
+ type: string
+ type:
+ description: Type of the Trigger. Possible values are Pre and
+ Post.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: body is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.body)
+ - message: operation is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.operation)
+ - message: type is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.type)
+ status:
+ description: SQLTriggerStatus defines the observed state of SQLTrigger.
+ properties:
+ atProvider:
+ properties:
+ body:
+ description: Body of the Trigger.
+ type: string
+ containerId:
+ description: The id of the Cosmos DB SQL Container to create the
+ SQL Trigger within. Changing this forces a new SQL Trigger to
+ be created.
+ type: string
+ id:
+ description: The ID of the SQL Trigger.
+ type: string
+ operation:
+ description: The operation the trigger is associated with. Possible
+ values are All, Create, Update, Delete and Replace.
+ type: string
+ type:
+ description: Type of the Trigger. Possible values are Pre and
+ Post.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_tables.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_tables.yaml
new file mode 100644
index 000000000..4091d8fbd
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_tables.yaml
@@ -0,0 +1,357 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: tables.cosmosdb.azure.kubedb.com
+spec:
+ group: cosmosdb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: Table
+ listKind: TableList
+ plural: tables
+ singular: table
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Table is the Schema for the Tables API. Manages a Table within
+ a Cosmos DB Account.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: TableSpec defines the desired state of Table
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ accountName:
+ description: The name of the Cosmos DB Table to create the table
+ within. Changing this forces a new resource to be created.
+ type: string
+ autoscaleSettings:
+ description: An autoscale_settings block as defined below.
+ items:
+ properties:
+ maxThroughput:
+ description: The maximum throughput of the Table (RU/s).
+ Must be between 1,000 and 1,000,000. Must be set in increments
+ of 1,000. Conflicts with throughput.
+ type: number
+ type: object
+ type: array
+ resourceGroupName:
+ description: The name of the resource group in which the Cosmos
+ DB Table is created. Changing this forces a new resource to
+ be created.
+ type: string
+ throughput:
+ description: The throughput of Table (RU/s). Must be set in increments
+ of 100. The minimum value is 400.
+ type: number
+ required:
+ - accountName
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ status:
+ description: TableStatus defines the observed state of Table.
+ properties:
+ atProvider:
+ properties:
+ accountName:
+ description: The name of the Cosmos DB Table to create the table
+ within. Changing this forces a new resource to be created.
+ type: string
+ autoscaleSettings:
+ description: An autoscale_settings block as defined below.
+ items:
+ properties:
+ maxThroughput:
+ description: The maximum throughput of the Table (RU/s).
+ Must be between 1,000 and 1,000,000. Must be set in increments
+ of 1,000. Conflicts with throughput.
+ type: number
+ type: object
+ type: array
+ id:
+ description: The ID of the CosmosDB Table.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the Cosmos
+ DB Table is created. Changing this forces a new resource to
+ be created.
+ type: string
+ throughput:
+ description: The throughput of Table (RU/s). Must be set in increments
+ of 100. The minimum value is 400.
+ type: number
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_configurations.yaml b/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_configurations.yaml
new file mode 100644
index 000000000..2f0988163
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_configurations.yaml
@@ -0,0 +1,351 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: configurations.dbformariadb.azure.kubedb.com
+spec:
+ group: dbformariadb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: Configuration
+ listKind: ConfigurationList
+ plural: configurations
+ singular: configuration
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Configuration is the Schema for the Configurations API. Sets
+ a MariaDB Configuration value on a MariaDB Server.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ConfigurationSpec defines the desired state of Configuration
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ name:
+ description: Specifies the name of the MariaDB Configuration,
+ which needs to be a valid MariaDB configuration name. Changing
+ this forces a new resource to be created.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the MariaDB
+ Server exists. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the MariaDB Server. Changing
+ this forces a new resource to be created.
+ type: string
+ value:
+ description: Specifies the value of the MariaDB Configuration.
+ See the MariaDB documentation for valid values. Changing this
+ forces a new resource to be created.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: name is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name)
+ - message: resourceGroupName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.resourceGroupName)
+ - message: serverName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.serverName)
+ - message: value is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.value)
+ status:
+ description: ConfigurationStatus defines the observed state of Configuration.
+ properties:
+ atProvider:
+ properties:
+ id:
+ description: The ID of the MariaDB Configuration.
+ type: string
+ name:
+ description: Specifies the name of the MariaDB Configuration,
+ which needs to be a valid MariaDB configuration name. Changing
+ this forces a new resource to be created.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the MariaDB
+ Server exists. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the MariaDB Server. Changing
+ this forces a new resource to be created.
+ type: string
+ value:
+ description: Specifies the value of the MariaDB Configuration.
+ See the MariaDB documentation for valid values. Changing this
+ forces a new resource to be created.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_databases.yaml b/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_databases.yaml
new file mode 100644
index 000000000..8e647ed59
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_databases.yaml
@@ -0,0 +1,350 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: databases.dbformariadb.azure.kubedb.com
+spec:
+ group: dbformariadb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: Database
+ listKind: DatabaseList
+ plural: databases
+ singular: database
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Database is the Schema for the Databases API. Manages a MariaDB
+ Database within a MariaDB Server.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: DatabaseSpec defines the desired state of Database
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ charset:
+ description: Specifies the Charset for the MariaDB Database, which
+ needs to be a valid MariaDB Charset. Changing this forces a
+ new resource to be created.
+ type: string
+ collation:
+ description: Specifies the Collation for the MariaDB Database,
+ which needs to be a valid MariaDB Collation. Changing this forces
+ a new resource to be created.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the MariaDB
+ Server exists. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the MariaDB Server. Changing
+ this forces a new resource to be created.
+ type: string
+ required:
+ - resourceGroupName
+ - serverName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: charset is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.charset)
+ - message: collation is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.collation)
+ status:
+ description: DatabaseStatus defines the observed state of Database.
+ properties:
+ atProvider:
+ properties:
+ charset:
+ description: Specifies the Charset for the MariaDB Database, which
+ needs to be a valid MariaDB Charset. Changing this forces a
+ new resource to be created.
+ type: string
+ collation:
+ description: Specifies the Collation for the MariaDB Database,
+ which needs to be a valid MariaDB Collation. Changing this forces
+ a new resource to be created.
+ type: string
+ id:
+ description: The ID of the MariaDB Database.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the MariaDB
+ Server exists. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the MariaDB Server. Changing
+ this forces a new resource to be created.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_firewallrules.yaml b/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_firewallrules.yaml
new file mode 100644
index 000000000..d8f15cef7
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_firewallrules.yaml
@@ -0,0 +1,346 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: firewallrules.dbformariadb.azure.kubedb.com
+spec:
+ group: dbformariadb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: FirewallRule
+ listKind: FirewallRuleList
+ plural: firewallrules
+ singular: firewallrule
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: FirewallRule is the Schema for the FirewallRules API. Manages
+ a Firewall Rule for a MariaDB Server.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: FirewallRuleSpec defines the desired state of FirewallRule
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ endIpAddress:
+ description: Specifies the End IP Address associated with this
+ Firewall Rule.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the MariaDB
+ Server exists. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the MariaDB Server. Changing
+ this forces a new resource to be created.
+ type: string
+ startIpAddress:
+ description: Specifies the Start IP Address associated with this
+ Firewall Rule.
+ type: string
+ required:
+ - resourceGroupName
+ - serverName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: endIpAddress is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.endIpAddress)
+ - message: startIpAddress is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.startIpAddress)
+ status:
+ description: FirewallRuleStatus defines the observed state of FirewallRule.
+ properties:
+ atProvider:
+ properties:
+ endIpAddress:
+ description: Specifies the End IP Address associated with this
+ Firewall Rule.
+ type: string
+ id:
+ description: The ID of the MariaDB Firewall Rule.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the MariaDB
+ Server exists. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the MariaDB Server. Changing
+ this forces a new resource to be created.
+ type: string
+ startIpAddress:
+ description: Specifies the Start IP Address associated with this
+ Firewall Rule.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_servers.yaml b/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_servers.yaml
new file mode 100644
index 000000000..df9986040
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_servers.yaml
@@ -0,0 +1,511 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: servers.dbformariadb.azure.kubedb.com
+spec:
+ group: dbformariadb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: Server
+ listKind: ServerList
+ plural: servers
+ singular: server
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Server is the Schema for the Servers API. Manages a MariaDB Server.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ServerSpec defines the desired state of Server
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ administratorLogin:
+ description: The Administrator login for the MariaDB Server. Changing
+ this forces a new resource to be created.
+ type: string
+ administratorLoginPasswordSecretRef:
+ description: The Password associated with the administrator_login
+ for the MariaDB Server.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ autoGrowEnabled:
+ description: Enable/Disable auto-growing of the storage. Storage
+ auto-grow prevents your server from running out of storage and
+ becoming read-only. If storage auto grow is enabled, the storage
+ automatically grows without impacting the workload. The default
+ value if not explicitly specified is true.
+ type: boolean
+ backupRetentionDays:
+ description: Backup retention days for the server, supported values
+ are between 7 and 35 days.
+ type: number
+ createMode:
+ description: The creation mode. Can be used to restore or replicate
+ existing servers. Possible values are Default, Replica, GeoRestore,
+ and PointInTimeRestore. Defaults to Default.
+ type: string
+ creationSourceServerId:
+ description: For creation modes other than Default, the source
+ server ID to use.
+ type: string
+ geoRedundantBackupEnabled:
+ description: Turn Geo-redundant server backups on/off. This allows
+ you to choose between locally redundant or geo-redundant backup
+ storage in the General Purpose and Memory Optimized tiers. When
+ the backups are stored in geo-redundant backup storage, they
+ are not only stored within the region in which your server is
+ hosted, but are also replicated to a paired data center. This
+ provides better protection and ability to restore your server
+ in a different region in the event of a disaster. This is not
+ supported for the Basic tier.
+ type: boolean
+ location:
+ description: Specifies the supported Azure location where the
+ resource exists. Changing this forces a new resource to be created.
+ type: string
+ publicNetworkAccessEnabled:
+ description: Whether or not public network access is allowed for
+ this server. Defaults to true.
+ type: boolean
+ resourceGroupName:
+ description: The name of the resource group in which to create
+ the MariaDB Server. Changing this forces a new resource to be
+ created.
+ type: string
+ restorePointInTime:
+ description: When create_mode is PointInTimeRestore, specifies
+ the point in time to restore from creation_source_server_id.
+ It should be provided in RFC3339 format, e.g. 2013-11-08T22:00:40Z.
+ type: string
+ skuName:
+ description: Specifies the SKU Name for this MariaDB Server. The
+ name of the SKU, follows the tier + family + cores pattern (e.g.
+ B_Gen4_1, GP_Gen5_8). For more information see the product documentation.
+ Possible values are B_Gen5_1, B_Gen5_2, GP_Gen5_2, GP_Gen5_4,
+ GP_Gen5_8, GP_Gen5_16, GP_Gen5_32, MO_Gen5_2, MO_Gen5_4, MO_Gen5_8
+ and MO_Gen5_16.
+ type: string
+ sslEnforcementEnabled:
+ description: Specifies if SSL should be enforced on connections.
+ Possible values are true and false.
+ type: boolean
+ sslMinimalTlsVersionEnforced:
+ description: The minimum TLS version to support on the sever.
+ Possible values are TLSEnforcementDisabled, TLS1_0, TLS1_1,
+ and TLS1_2. Defaults to TLS1_2.
+ type: string
+ storageMb:
+ description: Max storage allowed for a server. Possible values
+ are between 5120 MB (5GB) and 1024000MB (1TB) for the Basic
+ SKU and between 5120 MB (5GB) and 4096000 MB (4TB) for General
+ Purpose/Memory Optimized SKUs. For more information see the
+ product documentation.
+ type: number
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the resource.
+ type: object
+ version:
+ description: Specifies the version of MariaDB to use. Possible
+ values are 10.2 and 10.3. Changing this forces a new resource
+ to be created.
+ type: string
+ required:
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: location is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location)
+ - message: skuName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.skuName)
+ - message: sslEnforcementEnabled is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.sslEnforcementEnabled)
+ - message: version is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.version)
+ status:
+ description: ServerStatus defines the observed state of Server.
+ properties:
+ atProvider:
+ properties:
+ administratorLogin:
+ description: The Administrator login for the MariaDB Server. Changing
+ this forces a new resource to be created.
+ type: string
+ autoGrowEnabled:
+ description: Enable/Disable auto-growing of the storage. Storage
+ auto-grow prevents your server from running out of storage and
+ becoming read-only. If storage auto grow is enabled, the storage
+ automatically grows without impacting the workload. The default
+ value if not explicitly specified is true.
+ type: boolean
+ backupRetentionDays:
+ description: Backup retention days for the server, supported values
+ are between 7 and 35 days.
+ type: number
+ createMode:
+ description: The creation mode. Can be used to restore or replicate
+ existing servers. Possible values are Default, Replica, GeoRestore,
+ and PointInTimeRestore. Defaults to Default.
+ type: string
+ creationSourceServerId:
+ description: For creation modes other than Default, the source
+ server ID to use.
+ type: string
+ fqdn:
+ description: The FQDN of the MariaDB Server.
+ type: string
+ geoRedundantBackupEnabled:
+ description: Turn Geo-redundant server backups on/off. This allows
+ you to choose between locally redundant or geo-redundant backup
+ storage in the General Purpose and Memory Optimized tiers. When
+ the backups are stored in geo-redundant backup storage, they
+ are not only stored within the region in which your server is
+ hosted, but are also replicated to a paired data center. This
+ provides better protection and ability to restore your server
+ in a different region in the event of a disaster. This is not
+ supported for the Basic tier.
+ type: boolean
+ id:
+ description: The ID of the MariaDB Server.
+ type: string
+ location:
+ description: Specifies the supported Azure location where the
+ resource exists. Changing this forces a new resource to be created.
+ type: string
+ publicNetworkAccessEnabled:
+ description: Whether or not public network access is allowed for
+ this server. Defaults to true.
+ type: boolean
+ resourceGroupName:
+ description: The name of the resource group in which to create
+ the MariaDB Server. Changing this forces a new resource to be
+ created.
+ type: string
+ restorePointInTime:
+ description: When create_mode is PointInTimeRestore, specifies
+ the point in time to restore from creation_source_server_id.
+ It should be provided in RFC3339 format, e.g. 2013-11-08T22:00:40Z.
+ type: string
+ skuName:
+ description: Specifies the SKU Name for this MariaDB Server. The
+ name of the SKU, follows the tier + family + cores pattern (e.g.
+ B_Gen4_1, GP_Gen5_8). For more information see the product documentation.
+ Possible values are B_Gen5_1, B_Gen5_2, GP_Gen5_2, GP_Gen5_4,
+ GP_Gen5_8, GP_Gen5_16, GP_Gen5_32, MO_Gen5_2, MO_Gen5_4, MO_Gen5_8
+ and MO_Gen5_16.
+ type: string
+ sslEnforcementEnabled:
+ description: Specifies if SSL should be enforced on connections.
+ Possible values are true and false.
+ type: boolean
+ sslMinimalTlsVersionEnforced:
+ description: The minimum TLS version to support on the sever.
+ Possible values are TLSEnforcementDisabled, TLS1_0, TLS1_1,
+ and TLS1_2. Defaults to TLS1_2.
+ type: string
+ storageMb:
+ description: Max storage allowed for a server. Possible values
+ are between 5120 MB (5GB) and 1024000MB (1TB) for the Basic
+ SKU and between 5120 MB (5GB) and 4096000 MB (4TB) for General
+ Purpose/Memory Optimized SKUs. For more information see the
+ product documentation.
+ type: number
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the resource.
+ type: object
+ version:
+ description: Specifies the version of MariaDB to use. Possible
+ values are 10.2 and 10.3. Changing this forces a new resource
+ to be created.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_virtualnetworkrules.yaml b/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_virtualnetworkrules.yaml
new file mode 100644
index 000000000..eb8b33e03
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_virtualnetworkrules.yaml
@@ -0,0 +1,338 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: virtualnetworkrules.dbformariadb.azure.kubedb.com
+spec:
+ group: dbformariadb.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: VirtualNetworkRule
+ listKind: VirtualNetworkRuleList
+ plural: virtualnetworkrules
+ singular: virtualnetworkrule
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: VirtualNetworkRule is the Schema for the VirtualNetworkRules
+ API. Manages a MariaDB Virtual Network Rule.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: VirtualNetworkRuleSpec defines the desired state of VirtualNetworkRule
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ resourceGroupName:
+ description: The name of the resource group where the MariaDB
+ server resides. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: The name of the SQL Server to which this MariaDB
+ virtual network rule will be applied to. Changing this forces
+ a new resource to be created.
+ type: string
+ subnetId:
+ description: The ID of the subnet that the MariaDB server will
+ be connected to.
+ type: string
+ required:
+ - resourceGroupName
+ - serverName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: subnetId is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.subnetId)
+ status:
+ description: VirtualNetworkRuleStatus defines the observed state of VirtualNetworkRule.
+ properties:
+ atProvider:
+ properties:
+ id:
+ description: The ID of the MariaDB Virtual Network Rule.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group where the MariaDB
+ server resides. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: The name of the SQL Server to which this MariaDB
+ virtual network rule will be applied to. Changing this forces
+ a new resource to be created.
+ type: string
+ subnetId:
+ description: The ID of the subnet that the MariaDB server will
+ be connected to.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_activedirectoryadministrators.yaml b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_activedirectoryadministrators.yaml
new file mode 100644
index 000000000..05af091a7
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_activedirectoryadministrators.yaml
@@ -0,0 +1,357 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: activedirectoryadministrators.dbformysql.azure.kubedb.com
+spec:
+ group: dbformysql.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: ActiveDirectoryAdministrator
+ listKind: ActiveDirectoryAdministratorList
+ plural: activedirectoryadministrators
+ singular: activedirectoryadministrator
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ActiveDirectoryAdministrator is the Schema for the ActiveDirectoryAdministrators
+ API. Manages an Active Directory administrator on a MySQL server
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ActiveDirectoryAdministratorSpec defines the desired state
+ of ActiveDirectoryAdministrator
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ login:
+ description: The login name of the principal to set as the server
+ administrator
+ type: string
+ objectId:
+ description: The ID of the principal to set as the server administrator.
+ For a managed identity this should be the Client ID of the identity.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group for the MySQL server.
+ Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: The name of the MySQL Server on which to set the
+ administrator. Changing this forces a new resource to be created.
+ type: string
+ tenantId:
+ description: The Azure Tenant ID
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: login is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.login)
+ - message: objectId is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.objectId)
+ - message: resourceGroupName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.resourceGroupName)
+ - message: serverName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.serverName)
+ - message: tenantId is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.tenantId)
+ status:
+ description: ActiveDirectoryAdministratorStatus defines the observed state
+ of ActiveDirectoryAdministrator.
+ properties:
+ atProvider:
+ properties:
+ id:
+ description: The ID of the MySQL Active Directory Administrator.
+ type: string
+ login:
+ description: The login name of the principal to set as the server
+ administrator
+ type: string
+ objectId:
+ description: The ID of the principal to set as the server administrator.
+ For a managed identity this should be the Client ID of the identity.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group for the MySQL server.
+ Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: The name of the MySQL Server on which to set the
+ administrator. Changing this forces a new resource to be created.
+ type: string
+ tenantId:
+ description: The Azure Tenant ID
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_configurations.yaml b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_configurations.yaml
new file mode 100644
index 000000000..7785efe7b
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_configurations.yaml
@@ -0,0 +1,351 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: configurations.dbformysql.azure.kubedb.com
+spec:
+ group: dbformysql.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: Configuration
+ listKind: ConfigurationList
+ plural: configurations
+ singular: configuration
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Configuration is the Schema for the Configurations API. Sets
+ a MySQL Configuration value on a MySQL Server.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ConfigurationSpec defines the desired state of Configuration
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ name:
+ description: Specifies the name of the MySQL Configuration, which
+ needs to be a valid MySQL configuration name. Changing this
+ forces a new resource to be created.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the MySQL
+ Server exists. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the MySQL Server. Changing
+ this forces a new resource to be created.
+ type: string
+ value:
+ description: Specifies the value of the MySQL Configuration. See
+ the MySQL documentation for valid values. Changing this forces
+ a new resource to be created.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: name is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name)
+ - message: resourceGroupName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.resourceGroupName)
+ - message: serverName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.serverName)
+ - message: value is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.value)
+ status:
+ description: ConfigurationStatus defines the observed state of Configuration.
+ properties:
+ atProvider:
+ properties:
+ id:
+ description: The ID of the MySQL Configuration.
+ type: string
+ name:
+ description: Specifies the name of the MySQL Configuration, which
+ needs to be a valid MySQL configuration name. Changing this
+ forces a new resource to be created.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the MySQL
+ Server exists. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the MySQL Server. Changing
+ this forces a new resource to be created.
+ type: string
+ value:
+ description: Specifies the value of the MySQL Configuration. See
+ the MySQL documentation for valid values. Changing this forces
+ a new resource to be created.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_databases.yaml b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_databases.yaml
new file mode 100644
index 000000000..b2917c28b
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_databases.yaml
@@ -0,0 +1,350 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: databases.dbformysql.azure.kubedb.com
+spec:
+ group: dbformysql.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: Database
+ listKind: DatabaseList
+ plural: databases
+ singular: database
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Database is the Schema for the Databases API. Manages a MySQL
+ Database within a MySQL Server.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: DatabaseSpec defines the desired state of Database
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ charset:
+ description: Specifies the Charset for the MySQL Database, which
+ needs to be a valid MySQL Charset. Changing this forces a new
+ resource to be created.
+ type: string
+ collation:
+ description: Specifies the Collation for the MySQL Database, which
+ needs to be a valid MySQL Collation. Changing this forces a
+ new resource to be created.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the MySQL
+ Server exists. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the MySQL Server. Changing
+ this forces a new resource to be created.
+ type: string
+ required:
+ - resourceGroupName
+ - serverName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: charset is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.charset)
+ - message: collation is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.collation)
+ status:
+ description: DatabaseStatus defines the observed state of Database.
+ properties:
+ atProvider:
+ properties:
+ charset:
+ description: Specifies the Charset for the MySQL Database, which
+ needs to be a valid MySQL Charset. Changing this forces a new
+ resource to be created.
+ type: string
+ collation:
+ description: Specifies the Collation for the MySQL Database, which
+ needs to be a valid MySQL Collation. Changing this forces a
+ new resource to be created.
+ type: string
+ id:
+ description: The ID of the MySQL Database.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the MySQL
+ Server exists. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the MySQL Server. Changing
+ this forces a new resource to be created.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_firewallrules.yaml b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_firewallrules.yaml
new file mode 100644
index 000000000..682e7e710
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_firewallrules.yaml
@@ -0,0 +1,346 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: firewallrules.dbformysql.azure.kubedb.com
+spec:
+ group: dbformysql.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: FirewallRule
+ listKind: FirewallRuleList
+ plural: firewallrules
+ singular: firewallrule
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: FirewallRule is the Schema for the FirewallRules API. Manages
+ a Firewall Rule for a MySQL Server.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: FirewallRuleSpec defines the desired state of FirewallRule
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ endIpAddress:
+ description: Specifies the End IP Address associated with this
+ Firewall Rule.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the MySQL
+ Server exists. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the MySQL Server. Changing
+ this forces a new resource to be created.
+ type: string
+ startIpAddress:
+ description: Specifies the Start IP Address associated with this
+ Firewall Rule.
+ type: string
+ required:
+ - resourceGroupName
+ - serverName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: endIpAddress is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.endIpAddress)
+ - message: startIpAddress is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.startIpAddress)
+ status:
+ description: FirewallRuleStatus defines the observed state of FirewallRule.
+ properties:
+ atProvider:
+ properties:
+ endIpAddress:
+ description: Specifies the End IP Address associated with this
+ Firewall Rule.
+ type: string
+ id:
+ description: The ID of the MySQL Firewall Rule.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the MySQL
+ Server exists. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the MySQL Server. Changing
+ this forces a new resource to be created.
+ type: string
+ startIpAddress:
+ description: Specifies the Start IP Address associated with this
+ Firewall Rule.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibledatabases.yaml b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibledatabases.yaml
new file mode 100644
index 000000000..cb2680a85
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibledatabases.yaml
@@ -0,0 +1,422 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: flexibledatabases.dbformysql.azure.kubedb.com
+spec:
+ group: dbformysql.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: FlexibleDatabase
+ listKind: FlexibleDatabaseList
+ plural: flexibledatabases
+ singular: flexibledatabase
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: FlexibleDatabase is the Schema for the FlexibleDatabases API.
+ Manages a MySQL Database within a MySQL Flexible Server.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: FlexibleDatabaseSpec defines the desired state of FlexibleDatabase
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ charset:
+ description: Specifies the Charset for the MySQL Database, which
+ needs to be a valid MySQL Charset. Changing this forces a new
+ resource to be created.
+ type: string
+ collation:
+ description: Specifies the Collation for the MySQL Database, which
+ needs to be a valid MySQL Collation. Changing this forces a
+ new resource to be created.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the MySQL
+ Server exists. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the MySQL Flexible Server.
+ Changing this forces a new resource to be created.
+ type: string
+ serverNameRef:
+ description: Reference to a FlexibleServer to populate serverName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ serverNameSelector:
+ description: Selector for a FlexibleServer to populate serverName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ required:
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: charset is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.charset)
+ - message: collation is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.collation)
+ status:
+ description: FlexibleDatabaseStatus defines the observed state of FlexibleDatabase.
+ properties:
+ atProvider:
+ properties:
+ charset:
+ description: Specifies the Charset for the MySQL Database, which
+ needs to be a valid MySQL Charset. Changing this forces a new
+ resource to be created.
+ type: string
+ collation:
+ description: Specifies the Collation for the MySQL Database, which
+ needs to be a valid MySQL Collation. Changing this forces a
+ new resource to be created.
+ type: string
+ id:
+ description: The ID of the MySQL Database.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the MySQL
+ Server exists. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the MySQL Flexible Server.
+ Changing this forces a new resource to be created.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibleserverconfigurations.yaml b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibleserverconfigurations.yaml
new file mode 100644
index 000000000..a97b5ac43
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibleserverconfigurations.yaml
@@ -0,0 +1,415 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: flexibleserverconfigurations.dbformysql.azure.kubedb.com
+spec:
+ group: dbformysql.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: FlexibleServerConfiguration
+ listKind: FlexibleServerConfigurationList
+ plural: flexibleserverconfigurations
+ singular: flexibleserverconfiguration
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: FlexibleServerConfiguration is the Schema for the FlexibleServerConfigurations
+ API. Sets a MySQL Flexible Server Configuration value on a MySQL Flexible
+ Server.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: FlexibleServerConfigurationSpec defines the desired state
+ of FlexibleServerConfiguration
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ resourceGroupName:
+ description: The name of the resource group in which the MySQL
+ Flexible Server exists. Changing this forces a new resource
+ to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the MySQL Flexible Server.
+ Changing this forces a new resource to be created.
+ type: string
+ serverNameRef:
+ description: Reference to a FlexibleServer to populate serverName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ serverNameSelector:
+ description: Selector for a FlexibleServer to populate serverName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ value:
+ description: Specifies the value of the MySQL Flexible Server
+ Configuration. See the MySQL documentation for valid values.
+ Changing this forces a new resource to be created.
+ type: string
+ required:
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: value is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.value)
+ status:
+ description: FlexibleServerConfigurationStatus defines the observed state
+ of FlexibleServerConfiguration.
+ properties:
+ atProvider:
+ properties:
+ id:
+ description: The ID of the MySQL Flexible Server Configuration.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the MySQL
+ Flexible Server exists. Changing this forces a new resource
+ to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the MySQL Flexible Server.
+ Changing this forces a new resource to be created.
+ type: string
+ value:
+ description: Specifies the value of the MySQL Flexible Server
+ Configuration. See the MySQL documentation for valid values.
+ Changing this forces a new resource to be created.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibleserverfirewallrules.yaml b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibleserverfirewallrules.yaml
new file mode 100644
index 000000000..3d2f37877
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibleserverfirewallrules.yaml
@@ -0,0 +1,422 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: flexibleserverfirewallrules.dbformysql.azure.kubedb.com
+spec:
+ group: dbformysql.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: FlexibleServerFirewallRule
+ listKind: FlexibleServerFirewallRuleList
+ plural: flexibleserverfirewallrules
+ singular: flexibleserverfirewallrule
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: FlexibleServerFirewallRule is the Schema for the FlexibleServerFirewallRules
+ API. Manages a Firewall Rule for a MySQL Flexible Server.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: FlexibleServerFirewallRuleSpec defines the desired state
+ of FlexibleServerFirewallRule
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ endIpAddress:
+ description: Specifies the End IP Address associated with this
+ Firewall Rule.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the MySQL
+ Flexible Server exists. Changing this forces a new resource
+ to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the MySQL Flexible Server.
+ Changing this forces a new resource to be created.
+ type: string
+ serverNameRef:
+ description: Reference to a FlexibleServer to populate serverName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ serverNameSelector:
+ description: Selector for a FlexibleServer to populate serverName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ startIpAddress:
+ description: Specifies the Start IP Address associated with this
+ Firewall Rule.
+ type: string
+ required:
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: endIpAddress is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.endIpAddress)
+ - message: startIpAddress is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.startIpAddress)
+ status:
+ description: FlexibleServerFirewallRuleStatus defines the observed state
+ of FlexibleServerFirewallRule.
+ properties:
+ atProvider:
+ properties:
+ endIpAddress:
+ description: Specifies the End IP Address associated with this
+ Firewall Rule.
+ type: string
+ id:
+ description: The ID of the MySQL Firewall Rule.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the MySQL
+ Flexible Server exists. Changing this forces a new resource
+ to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the MySQL Flexible Server.
+ Changing this forces a new resource to be created.
+ type: string
+ startIpAddress:
+ description: Specifies the Start IP Address associated with this
+ Firewall Rule.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibleservers.yaml b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibleservers.yaml
new file mode 100644
index 000000000..22bc7b8c3
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibleservers.yaml
@@ -0,0 +1,753 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: flexibleservers.dbformysql.azure.kubedb.com
+spec:
+ group: dbformysql.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: FlexibleServer
+ listKind: FlexibleServerList
+ plural: flexibleservers
+ singular: flexibleserver
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: FlexibleServer is the Schema for the FlexibleServers API. Manages
+ a MySQL Flexible Server.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: FlexibleServerSpec defines the desired state of FlexibleServer
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ administratorLogin:
+ description: The Administrator login for the MySQL Flexible Server.
+ Required when create_mode is Default. Changing this forces a
+ new MySQL Flexible Server to be created.
+ type: string
+ administratorPasswordSecretRef:
+ description: The Password associated with the administrator_login
+ for the MySQL Flexible Server. Required when create_mode is
+ Default.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ backupRetentionDays:
+ description: The backup retention days for the MySQL Flexible
+ Server. Possible values are between 1 and 35 days. Defaults
+ to 7.
+ type: number
+ createMode:
+ description: The creation mode which can be used to restore or
+ replicate existing servers. Possible values are Default, PointInTimeRestore,
+ GeoRestore, and Replica. Changing this forces a new MySQL Flexible
+ Server to be created.
+ type: string
+ customerManagedKey:
+ description: A customer_managed_key block as defined below.
+ items:
+ properties:
+ geoBackupKeyVaultKeyId:
+ description: The ID of the geo backup Key Vault Key. It
+ can't cross region and need Customer Managed Key in same
+ region as geo backup.
+ type: string
+ geoBackupUserAssignedIdentityId:
+ description: The geo backup user managed identity id for
+ a Customer Managed Key. Should be added with identity_ids.
+ It can't cross region and need identity in same region
+ as geo backup.
+ type: string
+ keyVaultKeyId:
+ description: The ID of the Key Vault Key.
+ type: string
+ primaryUserAssignedIdentityId:
+ description: Specifies the primary user managed identity
+ id for a Customer Managed Key. Should be added with identity_ids.
+ type: string
+ type: object
+ type: array
+ delegatedSubnetId:
+ description: The ID of the virtual network subnet to create the
+ MySQL Flexible Server. Changing this forces a new MySQL Flexible
+ Server to be created.
+ type: string
+ geoRedundantBackupEnabled:
+ description: Should geo redundant backup enabled? Defaults to
+ false. Changing this forces a new MySQL Flexible Server to be
+ created.
+ type: boolean
+ highAvailability:
+ description: A high_availability block as defined below.
+ items:
+ properties:
+ mode:
+ description: The high availability mode for the MySQL Flexible
+ Server. Possibles values are SameZone and ZoneRedundant.
+ type: string
+ standbyAvailabilityZone:
+ description: Specifies the Availability Zone in which the
+ standby Flexible Server should be located. Possible values
+ are 1, 2 and 3.
+ type: string
+ required:
+ - mode
+ type: object
+ type: array
+ identity:
+ description: An identity block as defined below.
+ items:
+ properties:
+ identityIds:
+ description: A list of User Assigned Managed Identity IDs
+ to be assigned to this MySQL Flexible Server.
+ items:
+ type: string
+ type: array
+ type:
+ description: Specifies the type of Managed Service Identity
+ that should be configured on this MySQL Flexible Server.
+ The only possible value is UserAssigned.
+ type: string
+ required:
+ - identityIds
+ - type
+ type: object
+ type: array
+ location:
+ description: The Azure Region where the MySQL Flexible Server
+ should exist. Changing this forces a new MySQL Flexible Server
+ to be created.
+ type: string
+ maintenanceWindow:
+ description: A maintenance_window block as defined below.
+ items:
+ properties:
+ dayOfWeek:
+ description: The day of week for maintenance window. Defaults
+ to 0.
+ type: number
+ startHour:
+ description: The start hour for maintenance window. Defaults
+ to 0.
+ type: number
+ startMinute:
+ description: The start minute for maintenance window. Defaults
+ to 0.
+ type: number
+ type: object
+ type: array
+ pointInTimeRestoreTimeInUtc:
+ description: The point in time to restore from creation_source_server_id
+ when create_mode is PointInTimeRestore. Changing this forces
+ a new MySQL Flexible Server to be created.
+ type: string
+ privateDnsZoneId:
+ description: The ID of the private DNS zone to create the MySQL
+ Flexible Server. Changing this forces a new MySQL Flexible Server
+ to be created.
+ type: string
+ privateDnsZoneIdRef:
+ description: Reference to a PrivateDNSZone in network to populate
+ privateDnsZoneId.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ privateDnsZoneIdSelector:
+ description: Selector for a PrivateDNSZone in network to populate
+ privateDnsZoneId.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ replicationRole:
+ description: The replication role. Possible value is None.
+ type: string
+ resourceGroupName:
+ description: The name of the Resource Group where the MySQL Flexible
+ Server should exist. Changing this forces a new MySQL Flexible
+ Server to be created.
+ type: string
+ skuName:
+ description: The SKU Name for the MySQL Flexible Server.
+ type: string
+ sourceServerId:
+ description: The resource ID of the source MySQL Flexible Server
+ to be restored. Required when create_mode is PointInTimeRestore,
+ GeoRestore, and Replica. Changing this forces a new MySQL Flexible
+ Server to be created.
+ type: string
+ storage:
+ description: A storage block as defined below.
+ items:
+ properties:
+ autoGrowEnabled:
+ description: Should Storage Auto Grow be enabled? Defaults
+ to true.
+ type: boolean
+ iops:
+ description: The storage IOPS for the MySQL Flexible Server.
+ Possible values are between 360 and 20000.
+ type: number
+ sizeGb:
+ description: The max storage allowed for the MySQL Flexible
+ Server. Possible values are between 20 and 16384.
+ type: number
+ type: object
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags which should be assigned to the
+ MySQL Flexible Server.
+ type: object
+ version:
+ description: The version of the MySQL Flexible Server to use.
+ Possible values are 5.7, and 8.0.21. Changing this forces a
+ new MySQL Flexible Server to be created.
+ type: string
+ zone:
+ description: Specifies the Availability Zone in which this MySQL
+ Flexible Server should be located. Possible values are 1, 2
+ and 3.
+ type: string
+ required:
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: location is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location)
+ status:
+ description: FlexibleServerStatus defines the observed state of FlexibleServer.
+ properties:
+ atProvider:
+ properties:
+ administratorLogin:
+ description: The Administrator login for the MySQL Flexible Server.
+ Required when create_mode is Default. Changing this forces a
+ new MySQL Flexible Server to be created.
+ type: string
+ backupRetentionDays:
+ description: The backup retention days for the MySQL Flexible
+ Server. Possible values are between 1 and 35 days. Defaults
+ to 7.
+ type: number
+ createMode:
+ description: The creation mode which can be used to restore or
+ replicate existing servers. Possible values are Default, PointInTimeRestore,
+ GeoRestore, and Replica. Changing this forces a new MySQL Flexible
+ Server to be created.
+ type: string
+ customerManagedKey:
+ description: A customer_managed_key block as defined below.
+ items:
+ properties:
+ geoBackupKeyVaultKeyId:
+ description: The ID of the geo backup Key Vault Key. It
+ can't cross region and need Customer Managed Key in same
+ region as geo backup.
+ type: string
+ geoBackupUserAssignedIdentityId:
+ description: The geo backup user managed identity id for
+ a Customer Managed Key. Should be added with identity_ids.
+ It can't cross region and need identity in same region
+ as geo backup.
+ type: string
+ keyVaultKeyId:
+ description: The ID of the Key Vault Key.
+ type: string
+ primaryUserAssignedIdentityId:
+ description: Specifies the primary user managed identity
+ id for a Customer Managed Key. Should be added with identity_ids.
+ type: string
+ type: object
+ type: array
+ delegatedSubnetId:
+ description: The ID of the virtual network subnet to create the
+ MySQL Flexible Server. Changing this forces a new MySQL Flexible
+ Server to be created.
+ type: string
+ fqdn:
+ description: The fully qualified domain name of the MySQL Flexible
+ Server.
+ type: string
+ geoRedundantBackupEnabled:
+ description: Should geo redundant backup enabled? Defaults to
+ false. Changing this forces a new MySQL Flexible Server to be
+ created.
+ type: boolean
+ highAvailability:
+ description: A high_availability block as defined below.
+ items:
+ properties:
+ mode:
+ description: The high availability mode for the MySQL Flexible
+ Server. Possibles values are SameZone and ZoneRedundant.
+ type: string
+ standbyAvailabilityZone:
+ description: Specifies the Availability Zone in which the
+ standby Flexible Server should be located. Possible values
+ are 1, 2 and 3.
+ type: string
+ type: object
+ type: array
+ id:
+ description: The ID of the MySQL Flexible Server.
+ type: string
+ identity:
+ description: An identity block as defined below.
+ items:
+ properties:
+ identityIds:
+ description: A list of User Assigned Managed Identity IDs
+ to be assigned to this MySQL Flexible Server.
+ items:
+ type: string
+ type: array
+ type:
+ description: Specifies the type of Managed Service Identity
+ that should be configured on this MySQL Flexible Server.
+ The only possible value is UserAssigned.
+ type: string
+ type: object
+ type: array
+ location:
+ description: The Azure Region where the MySQL Flexible Server
+ should exist. Changing this forces a new MySQL Flexible Server
+ to be created.
+ type: string
+ maintenanceWindow:
+ description: A maintenance_window block as defined below.
+ items:
+ properties:
+ dayOfWeek:
+ description: The day of week for maintenance window. Defaults
+ to 0.
+ type: number
+ startHour:
+ description: The start hour for maintenance window. Defaults
+ to 0.
+ type: number
+ startMinute:
+ description: The start minute for maintenance window. Defaults
+ to 0.
+ type: number
+ type: object
+ type: array
+ pointInTimeRestoreTimeInUtc:
+ description: The point in time to restore from creation_source_server_id
+ when create_mode is PointInTimeRestore. Changing this forces
+ a new MySQL Flexible Server to be created.
+ type: string
+ privateDnsZoneId:
+ description: The ID of the private DNS zone to create the MySQL
+ Flexible Server. Changing this forces a new MySQL Flexible Server
+ to be created.
+ type: string
+ publicNetworkAccessEnabled:
+ description: Is the public network access enabled?
+ type: boolean
+ replicaCapacity:
+ description: The maximum number of replicas that a primary MySQL
+ Flexible Server can have.
+ type: number
+ replicationRole:
+ description: The replication role. Possible value is None.
+ type: string
+ resourceGroupName:
+ description: The name of the Resource Group where the MySQL Flexible
+ Server should exist. Changing this forces a new MySQL Flexible
+ Server to be created.
+ type: string
+ skuName:
+ description: The SKU Name for the MySQL Flexible Server.
+ type: string
+ sourceServerId:
+ description: The resource ID of the source MySQL Flexible Server
+ to be restored. Required when create_mode is PointInTimeRestore,
+ GeoRestore, and Replica. Changing this forces a new MySQL Flexible
+ Server to be created.
+ type: string
+ storage:
+ description: A storage block as defined below.
+ items:
+ properties:
+ autoGrowEnabled:
+ description: Should Storage Auto Grow be enabled? Defaults
+ to true.
+ type: boolean
+ iops:
+ description: The storage IOPS for the MySQL Flexible Server.
+ Possible values are between 360 and 20000.
+ type: number
+ sizeGb:
+ description: The max storage allowed for the MySQL Flexible
+ Server. Possible values are between 20 and 16384.
+ type: number
+ type: object
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags which should be assigned to the
+ MySQL Flexible Server.
+ type: object
+ version:
+ description: The version of the MySQL Flexible Server to use.
+ Possible values are 5.7, and 8.0.21. Changing this forces a
+ new MySQL Flexible Server to be created.
+ type: string
+ zone:
+ description: Specifies the Availability Zone in which this MySQL
+ Flexible Server should be located. Possible values are 1, 2
+ and 3.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_servers.yaml b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_servers.yaml
new file mode 100644
index 000000000..d6b7c1b4d
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_servers.yaml
@@ -0,0 +1,643 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: servers.dbformysql.azure.kubedb.com
+spec:
+ group: dbformysql.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: Server
+ listKind: ServerList
+ plural: servers
+ singular: server
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Server is the Schema for the Servers API. Manages a MySQL Server.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ServerSpec defines the desired state of Server
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ administratorLogin:
+ description: The Administrator login for the MySQL Server. Required
+ when create_mode is Default. Changing this forces a new resource
+ to be created.
+ type: string
+ administratorLoginPasswordSecretRef:
+ description: The Password associated with the administrator_login
+ for the MySQL Server. Required when create_mode is Default.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ autoGrowEnabled:
+ description: Enable/Disable auto-growing of the storage. Storage
+ auto-grow prevents your server from running out of storage and
+ becoming read-only. If storage auto grow is enabled, the storage
+ automatically grows without impacting the workload. The default
+ value if not explicitly specified is true.
+ type: boolean
+ backupRetentionDays:
+ description: Backup retention days for the server, supported values
+ are between 7 and 35 days.
+ type: number
+ createMode:
+ description: The creation mode. Can be used to restore or replicate
+ existing servers. Possible values are Default, Replica, GeoRestore,
+ and PointInTimeRestore. Defaults to Default.
+ type: string
+ creationSourceServerId:
+ description: For creation modes other than Default, the source
+ server ID to use.
+ type: string
+ geoRedundantBackupEnabled:
+ description: Turn Geo-redundant server backups on/off. This allows
+ you to choose between locally redundant or geo-redundant backup
+ storage in the General Purpose and Memory Optimized tiers. When
+ the backups are stored in geo-redundant backup storage, they
+ are not only stored within the region in which your server is
+ hosted, but are also replicated to a paired data center. This
+ provides better protection and ability to restore your server
+ in a different region in the event of a disaster. This is not
+ supported for the Basic tier.
+ type: boolean
+ identity:
+ description: An identity block as defined below.
+ items:
+ properties:
+ type:
+ description: Specifies the type of Managed Service Identity
+ that should be configured on this MySQL Server. The only
+ possible value is SystemAssigned.
+ type: string
+ required:
+ - type
+ type: object
+ type: array
+ infrastructureEncryptionEnabled:
+ description: Whether or not infrastructure is encrypted for this
+ server. Changing this forces a new resource to be created.
+ type: boolean
+ location:
+ description: Specifies the supported Azure location where the
+ resource exists. Changing this forces a new resource to be created.
+ type: string
+ publicNetworkAccessEnabled:
+ description: Whether or not public network access is allowed for
+ this server. Defaults to true.
+ type: boolean
+ resourceGroupName:
+ description: The name of the resource group in which to create
+ the MySQL Server. Changing this forces a new resource to be
+ created.
+ type: string
+ restorePointInTime:
+ description: When create_mode is PointInTimeRestore, specifies
+ the point in time to restore from creation_source_server_id.
+ It should be provided in RFC3339 format, e.g. 2013-11-08T22:00:40Z.
+ type: string
+ skuName:
+ description: Specifies the SKU Name for this MySQL Server. The
+ name of the SKU, follows the tier + family + cores pattern (e.g.
+ B_Gen4_1, GP_Gen5_8). For more information see the product documentation.
+ Possible values are B_Gen4_1, B_Gen4_2, B_Gen5_1, B_Gen5_2,
+ GP_Gen4_2, GP_Gen4_4, GP_Gen4_8, GP_Gen4_16, GP_Gen4_32, GP_Gen5_2,
+ GP_Gen5_4, GP_Gen5_8, GP_Gen5_16, GP_Gen5_32, GP_Gen5_64, MO_Gen5_2,
+ MO_Gen5_4, MO_Gen5_8, MO_Gen5_16 and MO_Gen5_32.
+ type: string
+ sslEnforcementEnabled:
+ description: Specifies if SSL should be enforced on connections.
+ Possible values are true and false.
+ type: boolean
+ sslMinimalTlsVersionEnforced:
+ description: The minimum TLS version to support on the sever.
+ Possible values are TLSEnforcementDisabled, TLS1_0, TLS1_1,
+ and TLS1_2. Defaults to TLS1_2.
+ type: string
+ storageMb:
+ description: Max storage allowed for a server. Possible values
+ are between 5120 MB(5GB) and 1048576 MB(1TB) for the Basic SKU
+ and between 5120 MB(5GB) and 16777216 MB(16TB) for General Purpose/Memory
+ Optimized SKUs. For more information see the product documentation.
+ type: number
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the resource.
+ type: object
+ threatDetectionPolicy:
+ description: Threat detection policy configuration, known in the
+ API as Server Security Alerts Policy. The threat_detection_policy
+ block supports fields documented below.
+ items:
+ properties:
+ disabledAlerts:
+ description: Specifies a list of alerts which should be
+ disabled. Possible values are Sql_Injection, Sql_Injection_Vulnerability,
+ Access_Anomaly, Data_Exfiltration and Unsafe_Action.
+ items:
+ type: string
+ type: array
+ emailAccountAdmins:
+ description: Should the account administrators be emailed
+ when this alert is triggered?
+ type: boolean
+ emailAddresses:
+ description: A list of email addresses which alerts should
+ be sent to.
+ items:
+ type: string
+ type: array
+ enabled:
+ description: Is the policy enabled?
+ type: boolean
+ retentionDays:
+ description: Specifies the number of days to keep in the
+ Threat Detection audit logs.
+ type: number
+ storageAccountAccessKeySecretRef:
+ description: Specifies the identifier key of the Threat
+ Detection audit storage account.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ storageEndpoint:
+ description: Specifies the blob storage endpoint (e.g. https://example.blob.core.windows.net).
+ This blob storage will hold all Threat Detection audit
+ logs.
+ type: string
+ type: object
+ type: array
+ version:
+ description: Specifies the version of MySQL to use. Valid values
+ are 5.7, or 8.0. Changing this forces a new resource to be created.
+ type: string
+ required:
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: location is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location)
+ - message: skuName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.skuName)
+ - message: sslEnforcementEnabled is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.sslEnforcementEnabled)
+ - message: version is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.version)
+ status:
+ description: ServerStatus defines the observed state of Server.
+ properties:
+ atProvider:
+ properties:
+ administratorLogin:
+ description: The Administrator login for the MySQL Server. Required
+ when create_mode is Default. Changing this forces a new resource
+ to be created.
+ type: string
+ autoGrowEnabled:
+ description: Enable/Disable auto-growing of the storage. Storage
+ auto-grow prevents your server from running out of storage and
+ becoming read-only. If storage auto grow is enabled, the storage
+ automatically grows without impacting the workload. The default
+ value if not explicitly specified is true.
+ type: boolean
+ backupRetentionDays:
+ description: Backup retention days for the server, supported values
+ are between 7 and 35 days.
+ type: number
+ createMode:
+ description: The creation mode. Can be used to restore or replicate
+ existing servers. Possible values are Default, Replica, GeoRestore,
+ and PointInTimeRestore. Defaults to Default.
+ type: string
+ creationSourceServerId:
+ description: For creation modes other than Default, the source
+ server ID to use.
+ type: string
+ fqdn:
+ description: The FQDN of the MySQL Server.
+ type: string
+ geoRedundantBackupEnabled:
+ description: Turn Geo-redundant server backups on/off. This allows
+ you to choose between locally redundant or geo-redundant backup
+ storage in the General Purpose and Memory Optimized tiers. When
+ the backups are stored in geo-redundant backup storage, they
+ are not only stored within the region in which your server is
+ hosted, but are also replicated to a paired data center. This
+ provides better protection and ability to restore your server
+ in a different region in the event of a disaster. This is not
+ supported for the Basic tier.
+ type: boolean
+ id:
+ description: The ID of the MySQL Server.
+ type: string
+ identity:
+ description: An identity block as defined below.
+ items:
+ properties:
+ principalId:
+ description: The Principal ID associated with this Managed
+ Service Identity.
+ type: string
+ tenantId:
+ description: The Tenant ID associated with this Managed
+ Service Identity.
+ type: string
+ type:
+ description: Specifies the type of Managed Service Identity
+ that should be configured on this MySQL Server. The only
+ possible value is SystemAssigned.
+ type: string
+ type: object
+ type: array
+ infrastructureEncryptionEnabled:
+ description: Whether or not infrastructure is encrypted for this
+ server. Changing this forces a new resource to be created.
+ type: boolean
+ location:
+ description: Specifies the supported Azure location where the
+ resource exists. Changing this forces a new resource to be created.
+ type: string
+ publicNetworkAccessEnabled:
+ description: Whether or not public network access is allowed for
+ this server. Defaults to true.
+ type: boolean
+ resourceGroupName:
+ description: The name of the resource group in which to create
+ the MySQL Server. Changing this forces a new resource to be
+ created.
+ type: string
+ restorePointInTime:
+ description: When create_mode is PointInTimeRestore, specifies
+ the point in time to restore from creation_source_server_id.
+ It should be provided in RFC3339 format, e.g. 2013-11-08T22:00:40Z.
+ type: string
+ skuName:
+ description: Specifies the SKU Name for this MySQL Server. The
+ name of the SKU, follows the tier + family + cores pattern (e.g.
+ B_Gen4_1, GP_Gen5_8). For more information see the product documentation.
+ Possible values are B_Gen4_1, B_Gen4_2, B_Gen5_1, B_Gen5_2,
+ GP_Gen4_2, GP_Gen4_4, GP_Gen4_8, GP_Gen4_16, GP_Gen4_32, GP_Gen5_2,
+ GP_Gen5_4, GP_Gen5_8, GP_Gen5_16, GP_Gen5_32, GP_Gen5_64, MO_Gen5_2,
+ MO_Gen5_4, MO_Gen5_8, MO_Gen5_16 and MO_Gen5_32.
+ type: string
+ sslEnforcementEnabled:
+ description: Specifies if SSL should be enforced on connections.
+ Possible values are true and false.
+ type: boolean
+ sslMinimalTlsVersionEnforced:
+ description: The minimum TLS version to support on the sever.
+ Possible values are TLSEnforcementDisabled, TLS1_0, TLS1_1,
+ and TLS1_2. Defaults to TLS1_2.
+ type: string
+ storageMb:
+ description: Max storage allowed for a server. Possible values
+ are between 5120 MB(5GB) and 1048576 MB(1TB) for the Basic SKU
+ and between 5120 MB(5GB) and 16777216 MB(16TB) for General Purpose/Memory
+ Optimized SKUs. For more information see the product documentation.
+ type: number
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the resource.
+ type: object
+ threatDetectionPolicy:
+ description: Threat detection policy configuration, known in the
+ API as Server Security Alerts Policy. The threat_detection_policy
+ block supports fields documented below.
+ items:
+ properties:
+ disabledAlerts:
+ description: Specifies a list of alerts which should be
+ disabled. Possible values are Sql_Injection, Sql_Injection_Vulnerability,
+ Access_Anomaly, Data_Exfiltration and Unsafe_Action.
+ items:
+ type: string
+ type: array
+ emailAccountAdmins:
+ description: Should the account administrators be emailed
+ when this alert is triggered?
+ type: boolean
+ emailAddresses:
+ description: A list of email addresses which alerts should
+ be sent to.
+ items:
+ type: string
+ type: array
+ enabled:
+ description: Is the policy enabled?
+ type: boolean
+ retentionDays:
+ description: Specifies the number of days to keep in the
+ Threat Detection audit logs.
+ type: number
+ storageEndpoint:
+ description: Specifies the blob storage endpoint (e.g. https://example.blob.core.windows.net).
+ This blob storage will hold all Threat Detection audit
+ logs.
+ type: string
+ type: object
+ type: array
+ version:
+ description: Specifies the version of MySQL to use. Valid values
+ are 5.7, or 8.0. Changing this forces a new resource to be created.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_virtualnetworkrules.yaml b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_virtualnetworkrules.yaml
new file mode 100644
index 000000000..a9fcfe012
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_virtualnetworkrules.yaml
@@ -0,0 +1,338 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: virtualnetworkrules.dbformysql.azure.kubedb.com
+spec:
+ group: dbformysql.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: VirtualNetworkRule
+ listKind: VirtualNetworkRuleList
+ plural: virtualnetworkrules
+ singular: virtualnetworkrule
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: VirtualNetworkRule is the Schema for the VirtualNetworkRules
+ API. Manages a MySQL Virtual Network Rule.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: VirtualNetworkRuleSpec defines the desired state of VirtualNetworkRule
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ resourceGroupName:
+ description: The name of the resource group where the MySQL server
+ resides. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: The name of the SQL Server to which this MySQL virtual
+ network rule will be applied to. Changing this forces a new
+ resource to be created.
+ type: string
+ subnetId:
+ description: The ID of the subnet that the MySQL server will be
+ connected to.
+ type: string
+ required:
+ - resourceGroupName
+ - serverName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: subnetId is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.subnetId)
+ status:
+ description: VirtualNetworkRuleStatus defines the observed state of VirtualNetworkRule.
+ properties:
+ atProvider:
+ properties:
+ id:
+ description: The ID of the MySQL Virtual Network Rule.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group where the MySQL server
+ resides. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: The name of the SQL Server to which this MySQL virtual
+ network rule will be applied to. Changing this forces a new
+ resource to be created.
+ type: string
+ subnetId:
+ description: The ID of the subnet that the MySQL server will be
+ connected to.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_activedirectoryadministrators.yaml b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_activedirectoryadministrators.yaml
new file mode 100644
index 000000000..5d9f001bf
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_activedirectoryadministrators.yaml
@@ -0,0 +1,430 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: activedirectoryadministrators.dbforpostgresql.azure.kubedb.com
+spec:
+ group: dbforpostgresql.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: ActiveDirectoryAdministrator
+ listKind: ActiveDirectoryAdministratorList
+ plural: activedirectoryadministrators
+ singular: activedirectoryadministrator
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ActiveDirectoryAdministrator is the Schema for the ActiveDirectoryAdministrators
+ API. Manages an Active Directory administrator on a PostgreSQL server
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ActiveDirectoryAdministratorSpec defines the desired state
+ of ActiveDirectoryAdministrator
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ login:
+ description: The login name of the principal to set as the server
+ administrator
+ type: string
+ objectId:
+ description: The ID of the principal to set as the server administrator.
+ For a managed identity this should be the Client ID of the identity.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group for the PostgreSQL
+ server. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: The name of the PostgreSQL Server on which to set
+ the administrator. Changing this forces a new resource to be
+ created.
+ type: string
+ serverNameRef:
+ description: Reference to a Server to populate serverName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ serverNameSelector:
+ description: Selector for a Server to populate serverName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ tenantId:
+ description: The Azure Tenant ID
+ type: string
+ required:
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: login is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.login)
+ - message: objectId is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.objectId)
+ - message: tenantId is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.tenantId)
+ status:
+ description: ActiveDirectoryAdministratorStatus defines the observed state
+ of ActiveDirectoryAdministrator.
+ properties:
+ atProvider:
+ properties:
+ id:
+ description: The ID of the PostgreSQL Active Directory Administrator.
+ type: string
+ login:
+ description: The login name of the principal to set as the server
+ administrator
+ type: string
+ objectId:
+ description: The ID of the principal to set as the server administrator.
+ For a managed identity this should be the Client ID of the identity.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group for the PostgreSQL
+ server. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: The name of the PostgreSQL Server on which to set
+ the administrator. Changing this forces a new resource to be
+ created.
+ type: string
+ tenantId:
+ description: The Azure Tenant ID
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_configurations.yaml b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_configurations.yaml
new file mode 100644
index 000000000..a13363888
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_configurations.yaml
@@ -0,0 +1,422 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: configurations.dbforpostgresql.azure.kubedb.com
+spec:
+ group: dbforpostgresql.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: Configuration
+ listKind: ConfigurationList
+ plural: configurations
+ singular: configuration
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Configuration is the Schema for the Configurations API. Sets
+ a PostgreSQL Configuration value on a PostgreSQL Server.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ConfigurationSpec defines the desired state of Configuration
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ name:
+ description: Specifies the name of the PostgreSQL Configuration,
+ which needs to be a valid PostgreSQL configuration name. Changing
+ this forces a new resource to be created.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the PostgreSQL
+ Server exists. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the PostgreSQL Server. Changing
+ this forces a new resource to be created.
+ type: string
+ serverNameRef:
+ description: Reference to a Server to populate serverName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ serverNameSelector:
+ description: Selector for a Server to populate serverName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ value:
+ description: Specifies the value of the PostgreSQL Configuration.
+ See the PostgreSQL documentation for valid values. Changing
+ this forces a new resource to be created.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: name is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name)
+ - message: resourceGroupName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.resourceGroupName)
+ - message: value is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.value)
+ status:
+ description: ConfigurationStatus defines the observed state of Configuration.
+ properties:
+ atProvider:
+ properties:
+ id:
+ description: The ID of the PostgreSQL Configuration.
+ type: string
+ name:
+ description: Specifies the name of the PostgreSQL Configuration,
+ which needs to be a valid PostgreSQL configuration name. Changing
+ this forces a new resource to be created.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the PostgreSQL
+ Server exists. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the PostgreSQL Server. Changing
+ this forces a new resource to be created.
+ type: string
+ value:
+ description: Specifies the value of the PostgreSQL Configuration.
+ See the PostgreSQL documentation for valid values. Changing
+ this forces a new resource to be created.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_databases.yaml b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_databases.yaml
new file mode 100644
index 000000000..cb37a5923
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_databases.yaml
@@ -0,0 +1,424 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: databases.dbforpostgresql.azure.kubedb.com
+spec:
+ group: dbforpostgresql.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: Database
+ listKind: DatabaseList
+ plural: databases
+ singular: database
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Database is the Schema for the Databases API. Manages a PostgreSQL
+ Database within a PostgreSQL Server.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: DatabaseSpec defines the desired state of Database
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ charset:
+ description: Specifies the Charset for the PostgreSQL Database,
+ which needs to be a valid PostgreSQL Charset. Changing this
+ forces a new resource to be created.
+ type: string
+ collation:
+ description: Specifies the Collation for the PostgreSQL Database,
+ which needs to be a valid PostgreSQL Collation. Note that Microsoft
+ uses different notation - en-US instead of en_US. Changing this
+ forces a new resource to be created.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the PostgreSQL
+ Server exists. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the PostgreSQL Server. Changing
+ this forces a new resource to be created.
+ type: string
+ serverNameRef:
+ description: Reference to a Server to populate serverName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ serverNameSelector:
+ description: Selector for a Server to populate serverName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ required:
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: charset is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.charset)
+ - message: collation is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.collation)
+ status:
+ description: DatabaseStatus defines the observed state of Database.
+ properties:
+ atProvider:
+ properties:
+ charset:
+ description: Specifies the Charset for the PostgreSQL Database,
+ which needs to be a valid PostgreSQL Charset. Changing this
+ forces a new resource to be created.
+ type: string
+ collation:
+ description: Specifies the Collation for the PostgreSQL Database,
+ which needs to be a valid PostgreSQL Collation. Note that Microsoft
+ uses different notation - en-US instead of en_US. Changing this
+ forces a new resource to be created.
+ type: string
+ id:
+ description: The ID of the PostgreSQL Database.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the PostgreSQL
+ Server exists. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the PostgreSQL Server. Changing
+ this forces a new resource to be created.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_firewallrules.yaml b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_firewallrules.yaml
new file mode 100644
index 000000000..5e7c8e94f
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_firewallrules.yaml
@@ -0,0 +1,418 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: firewallrules.dbforpostgresql.azure.kubedb.com
+spec:
+ group: dbforpostgresql.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: FirewallRule
+ listKind: FirewallRuleList
+ plural: firewallrules
+ singular: firewallrule
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: FirewallRule is the Schema for the FirewallRules API. Manages
+ a Firewall Rule for a PostgreSQL Server.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: FirewallRuleSpec defines the desired state of FirewallRule
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ endIpAddress:
+ description: Specifies the End IP Address associated with this
+ Firewall Rule. Changing this forces a new resource to be created.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the PostgreSQL
+ Server exists. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the PostgreSQL Server. Changing
+ this forces a new resource to be created.
+ type: string
+ serverNameRef:
+ description: Reference to a Server to populate serverName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ serverNameSelector:
+ description: Selector for a Server to populate serverName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ startIpAddress:
+ description: Specifies the Start IP Address associated with this
+ Firewall Rule. Changing this forces a new resource to be created.
+ type: string
+ required:
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: endIpAddress is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.endIpAddress)
+ - message: startIpAddress is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.startIpAddress)
+ status:
+ description: FirewallRuleStatus defines the observed state of FirewallRule.
+ properties:
+ atProvider:
+ properties:
+ endIpAddress:
+ description: Specifies the End IP Address associated with this
+ Firewall Rule. Changing this forces a new resource to be created.
+ type: string
+ id:
+ description: The ID of the PostgreSQL Firewall Rule.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which the PostgreSQL
+ Server exists. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: Specifies the name of the PostgreSQL Server. Changing
+ this forces a new resource to be created.
+ type: string
+ startIpAddress:
+ description: Specifies the Start IP Address associated with this
+ Firewall Rule. Changing this forces a new resource to be created.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleserverconfigurations.yaml b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleserverconfigurations.yaml
new file mode 100644
index 000000000..dd5723cc9
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleserverconfigurations.yaml
@@ -0,0 +1,415 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: flexibleserverconfigurations.dbforpostgresql.azure.kubedb.com
+spec:
+ group: dbforpostgresql.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: FlexibleServerConfiguration
+ listKind: FlexibleServerConfigurationList
+ plural: flexibleserverconfigurations
+ singular: flexibleserverconfiguration
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: FlexibleServerConfiguration is the Schema for the FlexibleServerConfigurations
+ API. Sets a PostgreSQL Configuration value on a Azure PostgreSQL Flexible
+ Server.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: FlexibleServerConfigurationSpec defines the desired state
+ of FlexibleServerConfiguration
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ name:
+ description: Specifies the name of the PostgreSQL Configuration,
+ which needs to be a valid PostgreSQL configuration name. Changing
+ this forces a new resource to be created.
+ type: string
+ serverId:
+ description: The ID of the PostgreSQL Flexible Server where we
+ want to change configuration. Changing this forces a new PostgreSQL
+ Flexible Server Configuration resource.
+ type: string
+ serverIdRef:
+ description: Reference to a FlexibleServer to populate serverId.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ serverIdSelector:
+ description: Selector for a FlexibleServer to populate serverId.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ value:
+ description: Specifies the value of the PostgreSQL Configuration.
+ See the PostgreSQL documentation for valid values.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: name is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name)
+ - message: value is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.value)
+ status:
+ description: FlexibleServerConfigurationStatus defines the observed state
+ of FlexibleServerConfiguration.
+ properties:
+ atProvider:
+ properties:
+ id:
+ description: The ID of the PostgreSQL Configuration.
+ type: string
+ name:
+ description: Specifies the name of the PostgreSQL Configuration,
+ which needs to be a valid PostgreSQL configuration name. Changing
+ this forces a new resource to be created.
+ type: string
+ serverId:
+ description: The ID of the PostgreSQL Flexible Server where we
+ want to change configuration. Changing this forces a new PostgreSQL
+ Flexible Server Configuration resource.
+ type: string
+ value:
+ description: Specifies the value of the PostgreSQL Configuration.
+ See the PostgreSQL documentation for valid values.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleserverdatabases.yaml b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleserverdatabases.yaml
new file mode 100644
index 000000000..3d46155b7
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleserverdatabases.yaml
@@ -0,0 +1,416 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: flexibleserverdatabases.dbforpostgresql.azure.kubedb.com
+spec:
+ group: dbforpostgresql.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: FlexibleServerDatabase
+ listKind: FlexibleServerDatabaseList
+ plural: flexibleserverdatabases
+ singular: flexibleserverdatabase
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: FlexibleServerDatabase is the Schema for the FlexibleServerDatabases
+ API. Manages a PostgreSQL Flexible Server Database.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: FlexibleServerDatabaseSpec defines the desired state of FlexibleServerDatabase
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ charset:
+ description: Specifies the Charset for the Azure PostgreSQL Flexible
+ Server Database, which needs to be a valid PostgreSQL Charset.
+ Defaults to UTF8. Changing this forces a new Azure PostgreSQL
+ Flexible Server Database to be created.
+ type: string
+ collation:
+ description: Specifies the Collation for the Azure PostgreSQL
+ Flexible Server Database, which needs to be a valid PostgreSQL
+ Collation. Defaults to en_US.utf8. Changing this forces a new
+ Azure PostgreSQL Flexible Server Database to be created.
+ type: string
+ serverId:
+ description: The ID of the Azure PostgreSQL Flexible Server from
+ which to create this PostgreSQL Flexible Server Database. Changing
+ this forces a new Azure PostgreSQL Flexible Server Database
+ to be created.
+ type: string
+ serverIdRef:
+ description: Reference to a FlexibleServer to populate serverId.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ serverIdSelector:
+ description: Selector for a FlexibleServer to populate serverId.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ status:
+ description: FlexibleServerDatabaseStatus defines the observed state of
+ FlexibleServerDatabase.
+ properties:
+ atProvider:
+ properties:
+ charset:
+ description: Specifies the Charset for the Azure PostgreSQL Flexible
+ Server Database, which needs to be a valid PostgreSQL Charset.
+ Defaults to UTF8. Changing this forces a new Azure PostgreSQL
+ Flexible Server Database to be created.
+ type: string
+ collation:
+ description: Specifies the Collation for the Azure PostgreSQL
+ Flexible Server Database, which needs to be a valid PostgreSQL
+ Collation. Defaults to en_US.utf8. Changing this forces a new
+ Azure PostgreSQL Flexible Server Database to be created.
+ type: string
+ id:
+ description: The ID of the Azure PostgreSQL Flexible Server Database.
+ type: string
+ serverId:
+ description: The ID of the Azure PostgreSQL Flexible Server from
+ which to create this PostgreSQL Flexible Server Database. Changing
+ this forces a new Azure PostgreSQL Flexible Server Database
+ to be created.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleserverfirewallrules.yaml b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleserverfirewallrules.yaml
new file mode 100644
index 000000000..93e1f6b26
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleserverfirewallrules.yaml
@@ -0,0 +1,415 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: flexibleserverfirewallrules.dbforpostgresql.azure.kubedb.com
+spec:
+ group: dbforpostgresql.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: FlexibleServerFirewallRule
+ listKind: FlexibleServerFirewallRuleList
+ plural: flexibleserverfirewallrules
+ singular: flexibleserverfirewallrule
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: FlexibleServerFirewallRule is the Schema for the FlexibleServerFirewallRules
+ API. Manages a PostgreSQL Flexible Server Firewall Rule.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: FlexibleServerFirewallRuleSpec defines the desired state
+ of FlexibleServerFirewallRule
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ endIpAddress:
+ description: The End IP Address associated with this PostgreSQL
+ Flexible Server Firewall Rule.
+ type: string
+ serverId:
+ description: The ID of the PostgreSQL Flexible Server from which
+ to create this PostgreSQL Flexible Server Firewall Rule. Changing
+ this forces a new PostgreSQL Flexible Server Firewall Rule to
+ be created.
+ type: string
+ serverIdRef:
+ description: Reference to a FlexibleServer to populate serverId.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ serverIdSelector:
+ description: Selector for a FlexibleServer to populate serverId.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ startIpAddress:
+ description: The Start IP Address associated with this PostgreSQL
+ Flexible Server Firewall Rule.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: endIpAddress is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.endIpAddress)
+ - message: startIpAddress is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.startIpAddress)
+ status:
+ description: FlexibleServerFirewallRuleStatus defines the observed state
+ of FlexibleServerFirewallRule.
+ properties:
+ atProvider:
+ properties:
+ endIpAddress:
+ description: The End IP Address associated with this PostgreSQL
+ Flexible Server Firewall Rule.
+ type: string
+ id:
+ description: The ID of the PostgreSQL Flexible Server Firewall
+ Rule.
+ type: string
+ serverId:
+ description: The ID of the PostgreSQL Flexible Server from which
+ to create this PostgreSQL Flexible Server Firewall Rule. Changing
+ this forces a new PostgreSQL Flexible Server Firewall Rule to
+ be created.
+ type: string
+ startIpAddress:
+ description: The Start IP Address associated with this PostgreSQL
+ Flexible Server Firewall Rule.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleservers.yaml b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleservers.yaml
new file mode 100644
index 000000000..07c8e5c36
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleservers.yaml
@@ -0,0 +1,681 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: flexibleservers.dbforpostgresql.azure.kubedb.com
+spec:
+ group: dbforpostgresql.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: FlexibleServer
+ listKind: FlexibleServerList
+ plural: flexibleservers
+ singular: flexibleserver
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: FlexibleServer is the Schema for the FlexibleServers API. Manages
+ a PostgreSQL Flexible Server.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: FlexibleServerSpec defines the desired state of FlexibleServer
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ administratorLogin:
+ description: The Administrator login for the PostgreSQL Flexible
+ Server. Required when create_mode is Default and authentication.password_auth_enabled
+ is true.
+ type: string
+ administratorPasswordSecretRef:
+ description: The Password associated with the administrator_login
+ for the PostgreSQL Flexible Server. Required when create_mode
+ is Default and authentication.password_auth_enabled is true.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ authentication:
+ description: An authentication block as defined below.
+ items:
+ properties:
+ activeDirectoryAuthEnabled:
+ description: Whether or not Active Directory authentication
+ is allowed to access the PostgreSQL Flexible Server. Defaults
+ to false.
+ type: boolean
+ passwordAuthEnabled:
+ description: Whether or not password authentication is allowed
+ to access the PostgreSQL Flexible Server. Defaults to
+ true.
+ type: boolean
+ tenantId:
+ description: The Tenant ID of the Azure Active Directory
+ which is used by the Active Directory authentication.
+ active_directory_auth_enabled must be set to true.
+ type: string
+ type: object
+ type: array
+ backupRetentionDays:
+ description: The backup retention days for the PostgreSQL Flexible
+ Server. Possible values are between 7 and 35 days.
+ type: number
+ createMode:
+ description: The creation mode which can be used to restore or
+ replicate existing servers. Possible values are Default, PointInTimeRestore,
+ Replica and Update. Changing this forces a new PostgreSQL Flexible
+ Server to be created.
+ type: string
+ customerManagedKey:
+ description: A customer_managed_key block as defined below. Changing
+ this forces a new resource to be created.
+ items:
+ properties:
+ keyVaultKeyId:
+ description: The ID of the Key Vault Key.
+ type: string
+ primaryUserAssignedIdentityId:
+ description: Specifies the primary user managed identity
+ id for a Customer Managed Key. Should be added with identity_ids.
+ type: string
+ type: object
+ type: array
+ delegatedSubnetId:
+ description: The ID of the virtual network subnet to create the
+ PostgreSQL Flexible Server. The provided subnet should not have
+ any other resource deployed in it and this subnet will be delegated
+ to the PostgreSQL Flexible Server, if not already delegated.
+ Changing this forces a new PostgreSQL Flexible Server to be
+ created.
+ type: string
+ geoRedundantBackupEnabled:
+ description: Is Geo-Redundant backup enabled on the PostgreSQL
+ Flexible Server. Defaults to false. Changing this forces a new
+ PostgreSQL Flexible Server to be created.
+ type: boolean
+ highAvailability:
+ description: A high_availability block as defined below.
+ items:
+ properties:
+ mode:
+ description: The high availability mode for the PostgreSQL
+ Flexible Server. Possible value are SameZone or ZoneRedundant.
+ type: string
+ standbyAvailabilityZone:
+ description: Specifies the Availability Zone in which the
+ standby Flexible Server should be located.
+ type: string
+ required:
+ - mode
+ type: object
+ type: array
+ identity:
+ description: An identity block as defined below.
+ items:
+ properties:
+ identityIds:
+ description: A list of User Assigned Managed Identity IDs
+ to be assigned to this PostgreSQL Flexible Server. Required
+ if used together with customer_managed_key block.
+ items:
+ type: string
+ type: array
+ type:
+ description: Specifies the type of Managed Service Identity
+ that should be configured on this PostgreSQL Flexible
+ Server. The only possible value is UserAssigned.
+ type: string
+ required:
+ - identityIds
+ - type
+ type: object
+ type: array
+ location:
+ description: The Azure Region where the PostgreSQL Flexible Server
+ should exist. Changing this forces a new PostgreSQL Flexible
+ Server to be created.
+ type: string
+ maintenanceWindow:
+ description: A maintenance_window block as defined below.
+ items:
+ properties:
+ dayOfWeek:
+ description: The day of week for maintenance window, where
+ the week starts on a Sunday, i.e. Sunday = 0, Monday =
+ 1. Defaults to 0.
+ type: number
+ startHour:
+ description: The start hour for maintenance window. Defaults
+ to 0.
+ type: number
+ startMinute:
+ description: The start minute for maintenance window. Defaults
+ to 0.
+ type: number
+ type: object
+ type: array
+ pointInTimeRestoreTimeInUtc:
+ description: The point in time to restore from source_server_id
+ when create_mode is PointInTimeRestore. Changing this forces
+ a new PostgreSQL Flexible Server to be created.
+ type: string
+ privateDnsZoneId:
+ description: The ID of the private DNS zone to create the PostgreSQL
+ Flexible Server. Changing this forces a new PostgreSQL Flexible
+ Server to be created.
+ type: string
+ replicationRole:
+ description: The replication role for the PostgreSQL Flexible
+ Server. Possible value is None.
+ type: string
+ resourceGroupName:
+ description: The name of the Resource Group where the PostgreSQL
+ Flexible Server should exist. Changing this forces a new PostgreSQL
+ Flexible Server to be created.
+ type: string
+ skuName:
+ description: The SKU Name for the PostgreSQL Flexible Server.
+ The name of the SKU, follows the tier + name pattern (e.g. B_Standard_B1ms,
+ GP_Standard_D2s_v3, MO_Standard_E4s_v3).
+ type: string
+ sourceServerId:
+ description: The resource ID of the source PostgreSQL Flexible
+ Server to be restored. Required when create_mode is PointInTimeRestore
+ or Replica. Changing this forces a new PostgreSQL Flexible Server
+ to be created.
+ type: string
+ storageMb:
+ description: The max storage allowed for the PostgreSQL Flexible
+ Server. Possible values are 32768, 65536, 131072, 262144, 524288,
+ 1048576, 2097152, 4194304, 8388608, and 16777216.
+ type: number
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags which should be assigned to the
+ PostgreSQL Flexible Server.
+ type: object
+ version:
+ description: The version of PostgreSQL Flexible Server to use.
+ Possible values are 11,12, 13, 14 and 15. Required when create_mode
+ is Default. Changing this forces a new PostgreSQL Flexible Server
+ to be created.
+ type: string
+ zone:
+ description: Specifies the Availability Zone in which the PostgreSQL
+ Flexible Server should be located.
+ type: string
+ required:
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: location is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location)
+ status:
+ description: FlexibleServerStatus defines the observed state of FlexibleServer.
+ properties:
+ atProvider:
+ properties:
+ administratorLogin:
+ description: The Administrator login for the PostgreSQL Flexible
+ Server. Required when create_mode is Default and authentication.password_auth_enabled
+ is true.
+ type: string
+ authentication:
+ description: An authentication block as defined below.
+ items:
+ properties:
+ activeDirectoryAuthEnabled:
+ description: Whether or not Active Directory authentication
+ is allowed to access the PostgreSQL Flexible Server. Defaults
+ to false.
+ type: boolean
+ passwordAuthEnabled:
+ description: Whether or not password authentication is allowed
+ to access the PostgreSQL Flexible Server. Defaults to
+ true.
+ type: boolean
+ tenantId:
+ description: The Tenant ID of the Azure Active Directory
+ which is used by the Active Directory authentication.
+ active_directory_auth_enabled must be set to true.
+ type: string
+ type: object
+ type: array
+ backupRetentionDays:
+ description: The backup retention days for the PostgreSQL Flexible
+ Server. Possible values are between 7 and 35 days.
+ type: number
+ createMode:
+ description: The creation mode which can be used to restore or
+ replicate existing servers. Possible values are Default, PointInTimeRestore,
+ Replica and Update. Changing this forces a new PostgreSQL Flexible
+ Server to be created.
+ type: string
+ customerManagedKey:
+ description: A customer_managed_key block as defined below. Changing
+ this forces a new resource to be created.
+ items:
+ properties:
+ keyVaultKeyId:
+ description: The ID of the Key Vault Key.
+ type: string
+ primaryUserAssignedIdentityId:
+ description: Specifies the primary user managed identity
+ id for a Customer Managed Key. Should be added with identity_ids.
+ type: string
+ type: object
+ type: array
+ delegatedSubnetId:
+ description: The ID of the virtual network subnet to create the
+ PostgreSQL Flexible Server. The provided subnet should not have
+ any other resource deployed in it and this subnet will be delegated
+ to the PostgreSQL Flexible Server, if not already delegated.
+ Changing this forces a new PostgreSQL Flexible Server to be
+ created.
+ type: string
+ fqdn:
+ description: The FQDN of the PostgreSQL Flexible Server.
+ type: string
+ geoRedundantBackupEnabled:
+ description: Is Geo-Redundant backup enabled on the PostgreSQL
+ Flexible Server. Defaults to false. Changing this forces a new
+ PostgreSQL Flexible Server to be created.
+ type: boolean
+ highAvailability:
+ description: A high_availability block as defined below.
+ items:
+ properties:
+ mode:
+ description: The high availability mode for the PostgreSQL
+ Flexible Server. Possible value are SameZone or ZoneRedundant.
+ type: string
+ standbyAvailabilityZone:
+ description: Specifies the Availability Zone in which the
+ standby Flexible Server should be located.
+ type: string
+ type: object
+ type: array
+ id:
+ description: The ID of the PostgreSQL Flexible Server.
+ type: string
+ identity:
+ description: An identity block as defined below.
+ items:
+ properties:
+ identityIds:
+ description: A list of User Assigned Managed Identity IDs
+ to be assigned to this PostgreSQL Flexible Server. Required
+ if used together with customer_managed_key block.
+ items:
+ type: string
+ type: array
+ type:
+ description: Specifies the type of Managed Service Identity
+ that should be configured on this PostgreSQL Flexible
+ Server. The only possible value is UserAssigned.
+ type: string
+ type: object
+ type: array
+ location:
+ description: The Azure Region where the PostgreSQL Flexible Server
+ should exist. Changing this forces a new PostgreSQL Flexible
+ Server to be created.
+ type: string
+ maintenanceWindow:
+ description: A maintenance_window block as defined below.
+ items:
+ properties:
+ dayOfWeek:
+ description: The day of week for maintenance window, where
+ the week starts on a Sunday, i.e. Sunday = 0, Monday =
+ 1. Defaults to 0.
+ type: number
+ startHour:
+ description: The start hour for maintenance window. Defaults
+ to 0.
+ type: number
+ startMinute:
+ description: The start minute for maintenance window. Defaults
+ to 0.
+ type: number
+ type: object
+ type: array
+ pointInTimeRestoreTimeInUtc:
+ description: The point in time to restore from source_server_id
+ when create_mode is PointInTimeRestore. Changing this forces
+ a new PostgreSQL Flexible Server to be created.
+ type: string
+ privateDnsZoneId:
+ description: The ID of the private DNS zone to create the PostgreSQL
+ Flexible Server. Changing this forces a new PostgreSQL Flexible
+ Server to be created.
+ type: string
+ publicNetworkAccessEnabled:
+ description: Is public network access enabled?
+ type: boolean
+ replicationRole:
+ description: The replication role for the PostgreSQL Flexible
+ Server. Possible value is None.
+ type: string
+ resourceGroupName:
+ description: The name of the Resource Group where the PostgreSQL
+ Flexible Server should exist. Changing this forces a new PostgreSQL
+ Flexible Server to be created.
+ type: string
+ skuName:
+ description: The SKU Name for the PostgreSQL Flexible Server.
+ The name of the SKU, follows the tier + name pattern (e.g. B_Standard_B1ms,
+ GP_Standard_D2s_v3, MO_Standard_E4s_v3).
+ type: string
+ sourceServerId:
+ description: The resource ID of the source PostgreSQL Flexible
+ Server to be restored. Required when create_mode is PointInTimeRestore
+ or Replica. Changing this forces a new PostgreSQL Flexible Server
+ to be created.
+ type: string
+ storageMb:
+ description: The max storage allowed for the PostgreSQL Flexible
+ Server. Possible values are 32768, 65536, 131072, 262144, 524288,
+ 1048576, 2097152, 4194304, 8388608, and 16777216.
+ type: number
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags which should be assigned to the
+ PostgreSQL Flexible Server.
+ type: object
+ version:
+ description: The version of PostgreSQL Flexible Server to use.
+ Possible values are 11,12, 13, 14 and 15. Required when create_mode
+ is Default. Changing this forces a new PostgreSQL Flexible Server
+ to be created.
+ type: string
+ zone:
+ description: Specifies the Availability Zone in which the PostgreSQL
+ Flexible Server should be located.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_serverkeys.yaml b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_serverkeys.yaml
new file mode 100644
index 000000000..25241b41d
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_serverkeys.yaml
@@ -0,0 +1,466 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: serverkeys.dbforpostgresql.azure.kubedb.com
+spec:
+ group: dbforpostgresql.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: ServerKey
+ listKind: ServerKeyList
+ plural: serverkeys
+ singular: serverkey
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ServerKey is the Schema for the ServerKeys API. Manages a PostgreSQL
+ Server Key.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ServerKeySpec defines the desired state of ServerKey
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ keyVaultKeyId:
+ description: The URL to a Key Vault Key.
+ type: string
+ keyVaultKeyIdRef:
+ description: Reference to a Key in keyvault to populate keyVaultKeyId.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ keyVaultKeyIdSelector:
+ description: Selector for a Key in keyvault to populate keyVaultKeyId.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ serverId:
+ description: The ID of the PostgreSQL Server. Changing this forces
+ a new resource to be created.
+ type: string
+ serverIdRef:
+ description: Reference to a Server to populate serverId.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ serverIdSelector:
+ description: Selector for a Server to populate serverId.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ status:
+ description: ServerKeyStatus defines the observed state of ServerKey.
+ properties:
+ atProvider:
+ properties:
+ id:
+ description: The ID of the PostgreSQL Server Key.
+ type: string
+ keyVaultKeyId:
+ description: The URL to a Key Vault Key.
+ type: string
+ serverId:
+ description: The ID of the PostgreSQL Server. Changing this forces
+ a new resource to be created.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_servers.yaml b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_servers.yaml
new file mode 100644
index 000000000..3a15f1eb8
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_servers.yaml
@@ -0,0 +1,648 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: servers.dbforpostgresql.azure.kubedb.com
+spec:
+ group: dbforpostgresql.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: Server
+ listKind: ServerList
+ plural: servers
+ singular: server
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Server is the Schema for the Servers API. Manages a PostgreSQL
+ Server.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: ServerSpec defines the desired state of Server
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ administratorLogin:
+ description: The Administrator login for the PostgreSQL Server.
+ Required when create_mode is Default. Changing this forces a
+ new resource to be created.
+ type: string
+ administratorLoginPasswordSecretRef:
+ description: The Password associated with the administrator_login
+ for the PostgreSQL Server. Required when create_mode is Default.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ autoGrowEnabled:
+ description: Enable/Disable auto-growing of the storage. Storage
+ auto-grow prevents your server from running out of storage and
+ becoming read-only. If storage auto grow is enabled, the storage
+ automatically grows without impacting the workload. The default
+ value if not explicitly specified is true.
+ type: boolean
+ backupRetentionDays:
+ description: Backup retention days for the server, supported values
+ are between 7 and 35 days.
+ type: number
+ createMode:
+ description: The creation mode. Can be used to restore or replicate
+ existing servers. Possible values are Default, Replica, GeoRestore,
+ and PointInTimeRestore. Defaults to Default.
+ type: string
+ creationSourceServerId:
+ description: For creation modes other than Default, the source
+ server ID to use.
+ type: string
+ geoRedundantBackupEnabled:
+ description: Turn Geo-redundant server backups on/off. This allows
+ you to choose between locally redundant or geo-redundant backup
+ storage in the General Purpose and Memory Optimized tiers. When
+ the backups are stored in geo-redundant backup storage, they
+ are not only stored within the region in which your server is
+ hosted, but are also replicated to a paired data center. This
+ provides better protection and ability to restore your server
+ in a different region in the event of a disaster. This is not
+ support for the Basic tier. Changing this forces a new resource
+ to be created.
+ type: boolean
+ identity:
+ description: An identity block as defined below.
+ items:
+ properties:
+ type:
+ description: Specifies the type of Managed Service Identity
+ that should be configured on this PostgreSQL Server. The
+ only possible value is SystemAssigned.
+ type: string
+ required:
+ - type
+ type: object
+ type: array
+ infrastructureEncryptionEnabled:
+ description: Whether or not infrastructure is encrypted for this
+ server. Changing this forces a new resource to be created.
+ type: boolean
+ location:
+ description: Specifies the supported Azure location where the
+ resource exists. Changing this forces a new resource to be created.
+ type: string
+ publicNetworkAccessEnabled:
+ description: Whether or not public network access is allowed for
+ this server. Defaults to true.
+ type: boolean
+ resourceGroupName:
+ description: The name of the resource group in which to create
+ the PostgreSQL Server. Changing this forces a new resource to
+ be created.
+ type: string
+ restorePointInTime:
+ description: When create_mode is PointInTimeRestore the point
+ in time to restore from creation_source_server_id. It should
+ be provided in RFC3339 format, e.g. 2013-11-08T22:00:40Z.
+ type: string
+ skuName:
+ description: Specifies the SKU Name for this PostgreSQL Server.
+ The name of the SKU, follows the tier + family + cores pattern
+ (e.g. B_Gen4_1, GP_Gen5_8). For more information see the product
+ documentation. Possible values are B_Gen4_1, B_Gen4_2, B_Gen5_1,
+ B_Gen5_2, GP_Gen4_2, GP_Gen4_4, GP_Gen4_8, GP_Gen4_16, GP_Gen4_32,
+ GP_Gen5_2, GP_Gen5_4, GP_Gen5_8, GP_Gen5_16, GP_Gen5_32, GP_Gen5_64,
+ MO_Gen5_2, MO_Gen5_4, MO_Gen5_8, MO_Gen5_16 and MO_Gen5_32.
+ type: string
+ sslEnforcementEnabled:
+ description: Specifies if SSL should be enforced on connections.
+ Possible values are true and false.
+ type: boolean
+ sslMinimalTlsVersionEnforced:
+ description: The minimum TLS version to support on the sever.
+ Possible values are TLSEnforcementDisabled, TLS1_0, TLS1_1,
+ and TLS1_2. Defaults to TLS1_2.
+ type: string
+ storageMb:
+ description: Max storage allowed for a server. Possible values
+ are between 5120 MB(5GB) and 1048576 MB(1TB) for the Basic SKU
+ and between 5120 MB(5GB) and 16777216 MB(16TB) for General Purpose/Memory
+ Optimized SKUs. For more information see the product documentation.
+ type: number
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the resource.
+ type: object
+ threatDetectionPolicy:
+ description: Threat detection policy configuration, known in the
+ API as Server Security Alerts Policy. The threat_detection_policy
+ block supports fields documented below.
+ items:
+ properties:
+ disabledAlerts:
+ description: Specifies a list of alerts which should be
+ disabled. Possible values are Sql_Injection, Sql_Injection_Vulnerability,
+ Access_Anomaly, Data_Exfiltration and Unsafe_Action.
+ items:
+ type: string
+ type: array
+ emailAccountAdmins:
+ description: Should the account administrators be emailed
+ when this alert is triggered?
+ type: boolean
+ emailAddresses:
+ description: A list of email addresses which alerts should
+ be sent to.
+ items:
+ type: string
+ type: array
+ enabled:
+ description: Is the policy enabled?
+ type: boolean
+ retentionDays:
+ description: Specifies the number of days to keep in the
+ Threat Detection audit logs.
+ type: number
+ storageAccountAccessKeySecretRef:
+ description: Specifies the identifier key of the Threat
+ Detection audit storage account.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ storageEndpoint:
+ description: Specifies the blob storage endpoint (e.g. https://example.blob.core.windows.net).
+ This blob storage will hold all Threat Detection audit
+ logs.
+ type: string
+ type: object
+ type: array
+ version:
+ description: Specifies the version of PostgreSQL to use. Valid
+ values are 9.5, 9.6, 10, 10.0, 10.2 and 11. Changing this forces
+ a new resource to be created.
+ type: string
+ required:
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: location is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location)
+ - message: skuName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.skuName)
+ - message: sslEnforcementEnabled is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.sslEnforcementEnabled)
+ - message: version is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.version)
+ status:
+ description: ServerStatus defines the observed state of Server.
+ properties:
+ atProvider:
+ properties:
+ administratorLogin:
+ description: The Administrator login for the PostgreSQL Server.
+ Required when create_mode is Default. Changing this forces a
+ new resource to be created.
+ type: string
+ autoGrowEnabled:
+ description: Enable/Disable auto-growing of the storage. Storage
+ auto-grow prevents your server from running out of storage and
+ becoming read-only. If storage auto grow is enabled, the storage
+ automatically grows without impacting the workload. The default
+ value if not explicitly specified is true.
+ type: boolean
+ backupRetentionDays:
+ description: Backup retention days for the server, supported values
+ are between 7 and 35 days.
+ type: number
+ createMode:
+ description: The creation mode. Can be used to restore or replicate
+ existing servers. Possible values are Default, Replica, GeoRestore,
+ and PointInTimeRestore. Defaults to Default.
+ type: string
+ creationSourceServerId:
+ description: For creation modes other than Default, the source
+ server ID to use.
+ type: string
+ fqdn:
+ description: The FQDN of the PostgreSQL Server.
+ type: string
+ geoRedundantBackupEnabled:
+ description: Turn Geo-redundant server backups on/off. This allows
+ you to choose between locally redundant or geo-redundant backup
+ storage in the General Purpose and Memory Optimized tiers. When
+ the backups are stored in geo-redundant backup storage, they
+ are not only stored within the region in which your server is
+ hosted, but are also replicated to a paired data center. This
+ provides better protection and ability to restore your server
+ in a different region in the event of a disaster. This is not
+ support for the Basic tier. Changing this forces a new resource
+ to be created.
+ type: boolean
+ id:
+ description: The ID of the PostgreSQL Server.
+ type: string
+ identity:
+ description: An identity block as defined below.
+ items:
+ properties:
+ principalId:
+ description: The Principal ID associated with this Managed
+ Service Identity.
+ type: string
+ tenantId:
+ description: The Tenant ID associated with this Managed
+ Service Identity.
+ type: string
+ type:
+ description: Specifies the type of Managed Service Identity
+ that should be configured on this PostgreSQL Server. The
+ only possible value is SystemAssigned.
+ type: string
+ type: object
+ type: array
+ infrastructureEncryptionEnabled:
+ description: Whether or not infrastructure is encrypted for this
+ server. Changing this forces a new resource to be created.
+ type: boolean
+ location:
+ description: Specifies the supported Azure location where the
+ resource exists. Changing this forces a new resource to be created.
+ type: string
+ publicNetworkAccessEnabled:
+ description: Whether or not public network access is allowed for
+ this server. Defaults to true.
+ type: boolean
+ resourceGroupName:
+ description: The name of the resource group in which to create
+ the PostgreSQL Server. Changing this forces a new resource to
+ be created.
+ type: string
+ restorePointInTime:
+ description: When create_mode is PointInTimeRestore the point
+ in time to restore from creation_source_server_id. It should
+ be provided in RFC3339 format, e.g. 2013-11-08T22:00:40Z.
+ type: string
+ skuName:
+ description: Specifies the SKU Name for this PostgreSQL Server.
+ The name of the SKU, follows the tier + family + cores pattern
+ (e.g. B_Gen4_1, GP_Gen5_8). For more information see the product
+ documentation. Possible values are B_Gen4_1, B_Gen4_2, B_Gen5_1,
+ B_Gen5_2, GP_Gen4_2, GP_Gen4_4, GP_Gen4_8, GP_Gen4_16, GP_Gen4_32,
+ GP_Gen5_2, GP_Gen5_4, GP_Gen5_8, GP_Gen5_16, GP_Gen5_32, GP_Gen5_64,
+ MO_Gen5_2, MO_Gen5_4, MO_Gen5_8, MO_Gen5_16 and MO_Gen5_32.
+ type: string
+ sslEnforcementEnabled:
+ description: Specifies if SSL should be enforced on connections.
+ Possible values are true and false.
+ type: boolean
+ sslMinimalTlsVersionEnforced:
+ description: The minimum TLS version to support on the sever.
+ Possible values are TLSEnforcementDisabled, TLS1_0, TLS1_1,
+ and TLS1_2. Defaults to TLS1_2.
+ type: string
+ storageMb:
+ description: Max storage allowed for a server. Possible values
+ are between 5120 MB(5GB) and 1048576 MB(1TB) for the Basic SKU
+ and between 5120 MB(5GB) and 16777216 MB(16TB) for General Purpose/Memory
+ Optimized SKUs. For more information see the product documentation.
+ type: number
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the resource.
+ type: object
+ threatDetectionPolicy:
+ description: Threat detection policy configuration, known in the
+ API as Server Security Alerts Policy. The threat_detection_policy
+ block supports fields documented below.
+ items:
+ properties:
+ disabledAlerts:
+ description: Specifies a list of alerts which should be
+ disabled. Possible values are Sql_Injection, Sql_Injection_Vulnerability,
+ Access_Anomaly, Data_Exfiltration and Unsafe_Action.
+ items:
+ type: string
+ type: array
+ emailAccountAdmins:
+ description: Should the account administrators be emailed
+ when this alert is triggered?
+ type: boolean
+ emailAddresses:
+ description: A list of email addresses which alerts should
+ be sent to.
+ items:
+ type: string
+ type: array
+ enabled:
+ description: Is the policy enabled?
+ type: boolean
+ retentionDays:
+ description: Specifies the number of days to keep in the
+ Threat Detection audit logs.
+ type: number
+ storageEndpoint:
+ description: Specifies the blob storage endpoint (e.g. https://example.blob.core.windows.net).
+ This blob storage will hold all Threat Detection audit
+ logs.
+ type: string
+ type: object
+ type: array
+ version:
+ description: Specifies the version of PostgreSQL to use. Valid
+ values are 9.5, 9.6, 10, 10.0, 10.2 and 11. Changing this forces
+ a new resource to be created.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_virtualnetworkrules.yaml b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_virtualnetworkrules.yaml
new file mode 100644
index 000000000..32f38f69e
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_virtualnetworkrules.yaml
@@ -0,0 +1,418 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: virtualnetworkrules.dbforpostgresql.azure.kubedb.com
+spec:
+ group: dbforpostgresql.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: VirtualNetworkRule
+ listKind: VirtualNetworkRuleList
+ plural: virtualnetworkrules
+ singular: virtualnetworkrule
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: VirtualNetworkRule is the Schema for the VirtualNetworkRules
+ API. Manages a PostgreSQL Virtual Network Rule.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: VirtualNetworkRuleSpec defines the desired state of VirtualNetworkRule
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ ignoreMissingVnetServiceEndpoint:
+ description: Should the Virtual Network Rule be created before
+ the Subnet has the Virtual Network Service Endpoint enabled?
+ type: boolean
+ resourceGroupName:
+ description: The name of the resource group where the PostgreSQL
+ server resides. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: The name of the SQL Server to which this PostgreSQL
+ virtual network rule will be applied to. Changing this forces
+ a new resource to be created.
+ type: string
+ serverNameRef:
+ description: Reference to a Server to populate serverName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ serverNameSelector:
+ description: Selector for a Server to populate serverName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ subnetId:
+ description: The ID of the subnet that the PostgreSQL server will
+ be connected to.
+ type: string
+ required:
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: subnetId is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.subnetId)
+ status:
+ description: VirtualNetworkRuleStatus defines the observed state of VirtualNetworkRule.
+ properties:
+ atProvider:
+ properties:
+ id:
+ description: The ID of the PostgreSQL Virtual Network Rule.
+ type: string
+ ignoreMissingVnetServiceEndpoint:
+ description: Should the Virtual Network Rule be created before
+ the Subnet has the Virtual Network Service Endpoint enabled?
+ type: boolean
+ resourceGroupName:
+ description: The name of the resource group where the PostgreSQL
+ server resides. Changing this forces a new resource to be created.
+ type: string
+ serverName:
+ description: The name of the SQL Server to which this PostgreSQL
+ virtual network rule will be applied to. Changing this forces
+ a new resource to be created.
+ type: string
+ subnetId:
+ description: The ID of the subnet that the PostgreSQL server will
+ be connected to.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/keyvault.azure.kubedb.com_keys.yaml b/charts/kubedb-provider-azure/crds/keyvault.azure.kubedb.com_keys.yaml
new file mode 100644
index 000000000..7d45a14a0
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/keyvault.azure.kubedb.com_keys.yaml
@@ -0,0 +1,554 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: keys.keyvault.azure.kubedb.com
+spec:
+ group: keyvault.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: Key
+ listKind: KeyList
+ plural: keys
+ singular: key
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Key is the Schema for the Keys API. Manages a Key Vault Key.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: KeySpec defines the desired state of Key
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ curve:
+ description: Specifies the curve to use when creating an EC key.
+ Possible values are P-256, P-256K, P-384, and P-521. This field
+ will be required in a future release if key_type is EC or EC-HSM.
+ The API will default to P-256 if nothing is specified. Changing
+ this forces a new resource to be created.
+ type: string
+ expirationDate:
+ description: Expiration UTC datetime (Y-m-d'T'H:M:S'Z').
+ type: string
+ keyOpts:
+ description: 'A list of JSON web key operations. Possible values
+ include: decrypt, encrypt, sign, unwrapKey, verify and wrapKey.
+ Please note these values are case sensitive.'
+ items:
+ type: string
+ type: array
+ keySize:
+ description: 'Specifies the Size of the RSA key to create in bytes.
+ For example, 1024 or 2048. Note: This field is required if key_type
+ is RSA or RSA-HSM. Changing this forces a new resource to be
+ created.'
+ type: number
+ keyType:
+ description: Specifies the Key Type to use for this Key Vault
+ Key. Possible values are EC (Elliptic Curve), EC-HSM, RSA and
+ RSA-HSM. Changing this forces a new resource to be created.
+ type: string
+ keyVaultId:
+ description: The ID of the Key Vault where the Key should be created.
+ Changing this forces a new resource to be created.
+ type: string
+ keyVaultIdRef:
+ description: Reference to a Vault to populate keyVaultId.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ keyVaultIdSelector:
+ description: Selector for a Vault to populate keyVaultId.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ notBeforeDate:
+ description: Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z').
+ type: string
+ rotationPolicy:
+ description: A rotation_policy block as defined below.
+ items:
+ properties:
+ automatic:
+ description: An automatic block as defined below.
+ items:
+ properties:
+ timeAfterCreation:
+ description: Rotate automatically at a duration after
+ create as an ISO 8601 duration.
+ type: string
+ timeBeforeExpiry:
+ description: Rotate automatically at a duration before
+ expiry as an ISO 8601 duration.
+ type: string
+ type: object
+ type: array
+ expireAfter:
+ description: Expire a Key Vault Key after given duration
+ as an ISO 8601 duration.
+ type: string
+ notifyBeforeExpiry:
+ description: Notify at a given duration before expiry as
+ an ISO 8601 duration. Default is P30D.
+ type: string
+ type: object
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the resource.
+ type: object
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: keyOpts is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.keyOpts)
+ - message: keyType is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.keyType)
+ status:
+ description: KeyStatus defines the observed state of Key.
+ properties:
+ atProvider:
+ properties:
+ curve:
+ description: Specifies the curve to use when creating an EC key.
+ Possible values are P-256, P-256K, P-384, and P-521. This field
+ will be required in a future release if key_type is EC or EC-HSM.
+ The API will default to P-256 if nothing is specified. Changing
+ this forces a new resource to be created.
+ type: string
+ e:
+ description: The RSA public exponent of this Key Vault Key.
+ type: string
+ expirationDate:
+ description: Expiration UTC datetime (Y-m-d'T'H:M:S'Z').
+ type: string
+ id:
+ description: The Key Vault Key ID.
+ type: string
+ keyOpts:
+ description: 'A list of JSON web key operations. Possible values
+ include: decrypt, encrypt, sign, unwrapKey, verify and wrapKey.
+ Please note these values are case sensitive.'
+ items:
+ type: string
+ type: array
+ keySize:
+ description: 'Specifies the Size of the RSA key to create in bytes.
+ For example, 1024 or 2048. Note: This field is required if key_type
+ is RSA or RSA-HSM. Changing this forces a new resource to be
+ created.'
+ type: number
+ keyType:
+ description: Specifies the Key Type to use for this Key Vault
+ Key. Possible values are EC (Elliptic Curve), EC-HSM, RSA and
+ RSA-HSM. Changing this forces a new resource to be created.
+ type: string
+ keyVaultId:
+ description: The ID of the Key Vault where the Key should be created.
+ Changing this forces a new resource to be created.
+ type: string
+ "n":
+ description: The RSA modulus of this Key Vault Key.
+ type: string
+ notBeforeDate:
+ description: Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z').
+ type: string
+ publicKeyOpenssh:
+ description: The OpenSSH encoded public key of this Key Vault
+ Key.
+ type: string
+ publicKeyPem:
+ description: The PEM encoded public key of this Key Vault Key.
+ type: string
+ resourceId:
+ description: The (Versioned) ID for this Key Vault Key. This property
+ points to a specific version of a Key Vault Key, as such using
+ this won't auto-rotate values if used in other Azure Services.
+ type: string
+ resourceVersionlessId:
+ description: The Versionless ID of the Key Vault Key. This property
+ allows other Azure Services (that support it) to auto-rotate
+ their value when the Key Vault Key is updated.
+ type: string
+ rotationPolicy:
+ description: A rotation_policy block as defined below.
+ items:
+ properties:
+ automatic:
+ description: An automatic block as defined below.
+ items:
+ properties:
+ timeAfterCreation:
+ description: Rotate automatically at a duration after
+ create as an ISO 8601 duration.
+ type: string
+ timeBeforeExpiry:
+ description: Rotate automatically at a duration before
+ expiry as an ISO 8601 duration.
+ type: string
+ type: object
+ type: array
+ expireAfter:
+ description: Expire a Key Vault Key after given duration
+ as an ISO 8601 duration.
+ type: string
+ notifyBeforeExpiry:
+ description: Notify at a given duration before expiry as
+ an ISO 8601 duration. Default is P30D.
+ type: string
+ type: object
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the resource.
+ type: object
+ version:
+ description: The current version of the Key Vault Key.
+ type: string
+ versionlessId:
+ description: The Base ID of the Key Vault Key.
+ type: string
+ x:
+ description: The EC X component of this Key Vault Key.
+ type: string
+ "y":
+ description: The EC Y component of this Key Vault Key.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/keyvault.azure.kubedb.com_vaults.yaml b/charts/kubedb-provider-azure/crds/keyvault.azure.kubedb.com_vaults.yaml
new file mode 100644
index 000000000..f49203ae8
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/keyvault.azure.kubedb.com_vaults.yaml
@@ -0,0 +1,562 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: vaults.keyvault.azure.kubedb.com
+spec:
+ group: keyvault.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: Vault
+ listKind: VaultList
+ plural: vaults
+ singular: vault
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Vault is the Schema for the Vaults API. Manages a Key Vault.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: VaultSpec defines the desired state of Vault
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ contact:
+ description: One or more contact block as defined below.
+ items:
+ properties:
+ email:
+ description: E-mail address of the contact.
+ type: string
+ name:
+ description: Name of the contact.
+ type: string
+ phone:
+ description: Phone number of the contact.
+ type: string
+ required:
+ - email
+ type: object
+ type: array
+ enableRbacAuthorization:
+ description: Boolean flag to specify whether Azure Key Vault uses
+ Role Based Access Control (RBAC) for authorization of data actions.
+ type: boolean
+ enabledForDeployment:
+ description: Boolean flag to specify whether Azure Virtual Machines
+ are permitted to retrieve certificates stored as secrets from
+ the key vault.
+ type: boolean
+ enabledForDiskEncryption:
+ description: Boolean flag to specify whether Azure Disk Encryption
+ is permitted to retrieve secrets from the vault and unwrap keys.
+ type: boolean
+ enabledForTemplateDeployment:
+ description: Boolean flag to specify whether Azure Resource Manager
+ is permitted to retrieve secrets from the key vault.
+ type: boolean
+ location:
+ description: Specifies the supported Azure location where the
+ resource exists. Changing this forces a new resource to be created.
+ type: string
+ networkAcls:
+ description: A network_acls block as defined below.
+ items:
+ properties:
+ bypass:
+ description: Specifies which traffic can bypass the network
+ rules. Possible values are AzureServices and None.
+ type: string
+ defaultAction:
+ description: The Default Action to use when no rules match
+ from ip_rules / virtual_network_subnet_ids. Possible values
+ are Allow and Deny.
+ type: string
+ ipRules:
+ description: One or more IP Addresses, or CIDR Blocks which
+ should be able to access the Key Vault.
+ items:
+ type: string
+ type: array
+ virtualNetworkSubnetIds:
+ description: One or more Subnet IDs which should be able
+ to access this Key Vault.
+ items:
+ type: string
+ type: array
+ required:
+ - bypass
+ - defaultAction
+ type: object
+ type: array
+ publicNetworkAccessEnabled:
+ description: Whether public network access is allowed for this
+ Key Vault. Defaults to true.
+ type: boolean
+ purgeProtectionEnabled:
+ description: Is Purge Protection enabled for this Key Vault?
+ type: boolean
+ resourceGroupName:
+ description: The name of the resource group in which to create
+ the Key Vault. Changing this forces a new resource to be created.
+ type: string
+ skuName:
+ description: The Name of the SKU used for this Key Vault. Possible
+ values are standard and premium.
+ type: string
+ softDeleteRetentionDays:
+ description: The number of days that items should be retained
+ for once soft-deleted. This value can be between 7 and 90 (the
+ default) days.
+ type: number
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the resource.
+ type: object
+ tenantId:
+ description: The Azure Active Directory tenant ID that should
+ be used for authenticating requests to the key vault.
+ type: string
+ required:
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: location is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location)
+ - message: skuName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.skuName)
+ - message: tenantId is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.tenantId)
+ status:
+ description: VaultStatus defines the observed state of Vault.
+ properties:
+ atProvider:
+ properties:
+ accessPolicy:
+ description: A list of up to 1024 objects describing access policies,
+ as described below.
+ items:
+ properties:
+ applicationId:
+ description: The object ID of an Application in Azure Active
+ Directory.
+ type: string
+ certificatePermissions:
+ description: 'List of certificate permissions, must be one
+ or more from the following: Backup, Create, Delete, DeleteIssuers,
+ Get, GetIssuers, Import, List, ListIssuers, ManageContacts,
+ ManageIssuers, Purge, Recover, Restore, SetIssuers and
+ Update.'
+ items:
+ type: string
+ type: array
+ keyPermissions:
+ description: List of key permissions. Possible values are
+ Backup, Create, Decrypt, Delete, Encrypt, Get, Import,
+ List, Purge, Recover, Restore, Sign, UnwrapKey, Update,
+ Verify, WrapKey, Release, Rotate, GetRotationPolicy and
+ SetRotationPolicy.
+ items:
+ type: string
+ type: array
+ objectId:
+ description: The object ID of a user, service principal
+ or security group in the Azure Active Directory tenant
+ for the vault. The object ID must be unique for the list
+ of access policies.
+ type: string
+ secretPermissions:
+ description: 'List of secret permissions, must be one or
+ more from the following: Backup, Delete, Get, List, Purge,
+ Recover, Restore and Set.'
+ items:
+ type: string
+ type: array
+ storagePermissions:
+ description: 'List of storage permissions, must be one or
+ more from the following: Backup, Delete, DeleteSAS, Get,
+ GetSAS, List, ListSAS, Purge, Recover, RegenerateKey,
+ Restore, Set, SetSAS and Update.'
+ items:
+ type: string
+ type: array
+ tenantId:
+ description: The Azure Active Directory tenant ID that should
+ be used for authenticating requests to the key vault.
+ Must match the tenant_id used above.
+ type: string
+ type: object
+ type: array
+ contact:
+ description: One or more contact block as defined below.
+ items:
+ properties:
+ email:
+ description: E-mail address of the contact.
+ type: string
+ name:
+ description: Name of the contact.
+ type: string
+ phone:
+ description: Phone number of the contact.
+ type: string
+ type: object
+ type: array
+ enableRbacAuthorization:
+ description: Boolean flag to specify whether Azure Key Vault uses
+ Role Based Access Control (RBAC) for authorization of data actions.
+ type: boolean
+ enabledForDeployment:
+ description: Boolean flag to specify whether Azure Virtual Machines
+ are permitted to retrieve certificates stored as secrets from
+ the key vault.
+ type: boolean
+ enabledForDiskEncryption:
+ description: Boolean flag to specify whether Azure Disk Encryption
+ is permitted to retrieve secrets from the vault and unwrap keys.
+ type: boolean
+ enabledForTemplateDeployment:
+ description: Boolean flag to specify whether Azure Resource Manager
+ is permitted to retrieve secrets from the key vault.
+ type: boolean
+ id:
+ description: The ID of the Key Vault.
+ type: string
+ location:
+ description: Specifies the supported Azure location where the
+ resource exists. Changing this forces a new resource to be created.
+ type: string
+ networkAcls:
+ description: A network_acls block as defined below.
+ items:
+ properties:
+ bypass:
+ description: Specifies which traffic can bypass the network
+ rules. Possible values are AzureServices and None.
+ type: string
+ defaultAction:
+ description: The Default Action to use when no rules match
+ from ip_rules / virtual_network_subnet_ids. Possible values
+ are Allow and Deny.
+ type: string
+ ipRules:
+ description: One or more IP Addresses, or CIDR Blocks which
+ should be able to access the Key Vault.
+ items:
+ type: string
+ type: array
+ virtualNetworkSubnetIds:
+ description: One or more Subnet IDs which should be able
+ to access this Key Vault.
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ publicNetworkAccessEnabled:
+ description: Whether public network access is allowed for this
+ Key Vault. Defaults to true.
+ type: boolean
+ purgeProtectionEnabled:
+ description: Is Purge Protection enabled for this Key Vault?
+ type: boolean
+ resourceGroupName:
+ description: The name of the resource group in which to create
+ the Key Vault. Changing this forces a new resource to be created.
+ type: string
+ skuName:
+ description: The Name of the SKU used for this Key Vault. Possible
+ values are standard and premium.
+ type: string
+ softDeleteRetentionDays:
+ description: The number of days that items should be retained
+ for once soft-deleted. This value can be between 7 and 90 (the
+ default) days.
+ type: number
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the resource.
+ type: object
+ tenantId:
+ description: The Azure Active Directory tenant ID that should
+ be used for authenticating requests to the key vault.
+ type: string
+ vaultUri:
+ description: The URI of the Key Vault, used for performing operations
+ on keys and secrets.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/network.azure.kubedb.com_privatednszones.yaml b/charts/kubedb-provider-azure/crds/network.azure.kubedb.com_privatednszones.yaml
new file mode 100644
index 000000000..46a872ae3
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/network.azure.kubedb.com_privatednszones.yaml
@@ -0,0 +1,427 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: privatednszones.network.azure.kubedb.com
+spec:
+ group: network.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: PrivateDNSZone
+ listKind: PrivateDNSZoneList
+ plural: privatednszones
+ singular: privatednszone
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: PrivateDNSZone is the Schema for the PrivateDNSZones API. Manages
+ a Private DNS Zone.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: PrivateDNSZoneSpec defines the desired state of PrivateDNSZone
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ resourceGroupName:
+ description: Specifies the resource group where the resource exists.
+ Changing this forces a new resource to be created.
+ type: string
+ soaRecord:
+ description: An soa_record block as defined below. Changing this
+ forces a new resource to be created.
+ items:
+ properties:
+ email:
+ description: The email contact for the SOA record.
+ type: string
+ expireTime:
+ description: The expire time for the SOA record. Defaults
+ to 2419200.
+ type: number
+ minimumTtl:
+ description: The minimum Time To Live for the SOA record.
+ By convention, it is used to determine the negative caching
+ duration. Defaults to 10.
+ type: number
+ refreshTime:
+ description: The refresh time for the SOA record. Defaults
+ to 3600.
+ type: number
+ retryTime:
+ description: The retry time for the SOA record. Defaults
+ to 300.
+ type: number
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the Record Set.
+ type: object
+ ttl:
+ description: The Time To Live of the SOA Record in seconds.
+ Defaults to 3600.
+ type: number
+ required:
+ - email
+ type: object
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the resource.
+ type: object
+ required:
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ status:
+ description: PrivateDNSZoneStatus defines the observed state of PrivateDNSZone.
+ properties:
+ atProvider:
+ properties:
+ id:
+ description: The Private DNS Zone ID.
+ type: string
+ maxNumberOfRecordSets:
+ description: The maximum number of record sets that can be created
+ in this Private DNS zone.
+ type: number
+ maxNumberOfVirtualNetworkLinks:
+ description: The maximum number of virtual networks that can be
+ linked to this Private DNS zone.
+ type: number
+ maxNumberOfVirtualNetworkLinksWithRegistration:
+ description: The maximum number of virtual networks that can be
+ linked to this Private DNS zone with registration enabled.
+ type: number
+ numberOfRecordSets:
+ description: The current number of record sets in this Private
+ DNS zone.
+ type: number
+ resourceGroupName:
+ description: Specifies the resource group where the resource exists.
+ Changing this forces a new resource to be created.
+ type: string
+ soaRecord:
+ description: An soa_record block as defined below. Changing this
+ forces a new resource to be created.
+ items:
+ properties:
+ email:
+ description: The email contact for the SOA record.
+ type: string
+ expireTime:
+ description: The expire time for the SOA record. Defaults
+ to 2419200.
+ type: number
+ fqdn:
+ description: The fully qualified domain name of the Record
+ Set.
+ type: string
+ hostName:
+ description: The domain name of the authoritative name server
+ for the SOA record.
+ type: string
+ minimumTtl:
+ description: The minimum Time To Live for the SOA record.
+ By convention, it is used to determine the negative caching
+ duration. Defaults to 10.
+ type: number
+ refreshTime:
+ description: The refresh time for the SOA record. Defaults
+ to 3600.
+ type: number
+ retryTime:
+ description: The retry time for the SOA record. Defaults
+ to 300.
+ type: number
+ serialNumber:
+ description: The serial number for the SOA record.
+ type: number
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the Record Set.
+ type: object
+ ttl:
+ description: The Time To Live of the SOA Record in seconds.
+ Defaults to 3600.
+ type: number
+ type: object
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the resource.
+ type: object
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/network.azure.kubedb.com_virtualnetworkpeerings.yaml b/charts/kubedb-provider-azure/crds/network.azure.kubedb.com_virtualnetworkpeerings.yaml
new file mode 100644
index 000000000..303f112c8
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/network.azure.kubedb.com_virtualnetworkpeerings.yaml
@@ -0,0 +1,538 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: virtualnetworkpeerings.network.azure.kubedb.com
+spec:
+ group: network.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: VirtualNetworkPeering
+ listKind: VirtualNetworkPeeringList
+ plural: virtualnetworkpeerings
+ singular: virtualnetworkpeering
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: VirtualNetworkPeering is the Schema for the VirtualNetworkPeerings
+ API. Manages a virtual network peering which allows resources to access
+ other resources in the linked virtual network.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: VirtualNetworkPeeringSpec defines the desired state of VirtualNetworkPeering
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ allowForwardedTraffic:
+ description: Controls if forwarded traffic from VMs in the remote
+ virtual network is allowed. Defaults to false.
+ type: boolean
+ allowGatewayTransit:
+ description: Controls gatewayLinks can be used in the remote virtual
+ network’s link to the local virtual network. Defaults to false.
+ type: boolean
+ allowVirtualNetworkAccess:
+ description: Controls if the VMs in the remote virtual network
+ can access VMs in the local virtual network. Defaults to true.
+ type: boolean
+ remoteVirtualNetworkId:
+ description: The full Azure resource ID of the remote virtual
+ network. Changing this forces a new resource to be created.
+ type: string
+ remoteVirtualNetworkIdRef:
+ description: Reference to a VirtualNetwork to populate remoteVirtualNetworkId.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ remoteVirtualNetworkIdSelector:
+ description: Selector for a VirtualNetwork to populate remoteVirtualNetworkId.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ resourceGroupName:
+ description: The name of the resource group in which to create
+ the virtual network peering. Changing this forces a new resource
+ to be created.
+ type: string
+ triggers:
+ additionalProperties:
+ type: string
+ description: A mapping of key values pairs that can be used to
+ sync network routes from the remote virtual network to the local
+ virtual network. See the trigger example for an example on how
+ to set it up.
+ type: object
+ useRemoteGateways:
+ description: Controls if remote gateways can be used on the local
+ virtual network. If the flag is set to true, and allow_gateway_transit
+ on the remote peering is also true, virtual network will use
+ gateways of remote virtual network for transit. Only one peering
+ can have this flag set to true. This flag cannot be set if virtual
+ network already has a gateway. Defaults to false.
+ type: boolean
+ virtualNetworkName:
+ description: The name of the virtual network. Changing this forces
+ a new resource to be created.
+ type: string
+ virtualNetworkNameRef:
+ description: Reference to a VirtualNetwork to populate virtualNetworkName.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ virtualNetworkNameSelector:
+ description: Selector for a VirtualNetwork to populate virtualNetworkName.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ required:
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ status:
+ description: VirtualNetworkPeeringStatus defines the observed state of
+ VirtualNetworkPeering.
+ properties:
+ atProvider:
+ properties:
+ allowForwardedTraffic:
+ description: Controls if forwarded traffic from VMs in the remote
+ virtual network is allowed. Defaults to false.
+ type: boolean
+ allowGatewayTransit:
+ description: Controls gatewayLinks can be used in the remote virtual
+ network’s link to the local virtual network. Defaults to false.
+ type: boolean
+ allowVirtualNetworkAccess:
+ description: Controls if the VMs in the remote virtual network
+ can access VMs in the local virtual network. Defaults to true.
+ type: boolean
+ id:
+ description: The ID of the Virtual Network Peering.
+ type: string
+ remoteVirtualNetworkId:
+ description: The full Azure resource ID of the remote virtual
+ network. Changing this forces a new resource to be created.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which to create
+ the virtual network peering. Changing this forces a new resource
+ to be created.
+ type: string
+ triggers:
+ additionalProperties:
+ type: string
+ description: A mapping of key values pairs that can be used to
+ sync network routes from the remote virtual network to the local
+ virtual network. See the trigger example for an example on how
+ to set it up.
+ type: object
+ useRemoteGateways:
+ description: Controls if remote gateways can be used on the local
+ virtual network. If the flag is set to true, and allow_gateway_transit
+ on the remote peering is also true, virtual network will use
+ gateways of remote virtual network for transit. Only one peering
+ can have this flag set to true. This flag cannot be set if virtual
+ network already has a gateway. Defaults to false.
+ type: boolean
+ virtualNetworkName:
+ description: The name of the virtual network. Changing this forces
+ a new resource to be created.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/crds/network.azure.kubedb.com_virtualnetworks.yaml b/charts/kubedb-provider-azure/crds/network.azure.kubedb.com_virtualnetworks.yaml
new file mode 100644
index 000000000..437a48a3e
--- /dev/null
+++ b/charts/kubedb-provider-azure/crds/network.azure.kubedb.com_virtualnetworks.yaml
@@ -0,0 +1,442 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: virtualnetworks.network.azure.kubedb.com
+spec:
+ group: network.azure.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - azure
+ kind: VirtualNetwork
+ listKind: VirtualNetworkList
+ plural: virtualnetworks
+ singular: virtualnetwork
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: VirtualNetwork is the Schema for the VirtualNetworks API. Manages
+ a virtual network including any configured subnets. Each subnet can optionally
+ be configured with a security group to be associated with the subnet.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: VirtualNetworkSpec defines the desired state of VirtualNetwork
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ addressSpace:
+ description: The address space that is used the virtual network.
+ You can supply more than one address space.
+ items:
+ type: string
+ type: array
+ bgpCommunity:
+ description: The BGP community attribute in format :.
+ type: string
+ ddosProtectionPlan:
+ description: A ddos_protection_plan block as documented below.
+ items:
+ properties:
+ enable:
+ description: Enable/disable DDoS Protection Plan on Virtual
+ Network.
+ type: boolean
+ id:
+ description: The ID of DDoS Protection Plan.
+ type: string
+ required:
+ - enable
+ - id
+ type: object
+ type: array
+ dnsServers:
+ description: List of IP addresses of DNS servers
+ items:
+ type: string
+ type: array
+ edgeZone:
+ description: Specifies the Edge Zone within the Azure Region where
+ this Virtual Network should exist. Changing this forces a new
+ Virtual Network to be created.
+ type: string
+ flowTimeoutInMinutes:
+ description: The flow timeout in minutes for the Virtual Network,
+ which is used to enable connection tracking for intra-VM flows.
+ Possible values are between 4 and 30 minutes.
+ type: number
+ location:
+ description: The location/region where the virtual network is
+ created. Changing this forces a new resource to be created.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which to create
+ the virtual network. Changing this forces a new resource to
+ be created.
+ type: string
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the resource.
+ type: object
+ required:
+ - resourceGroupName
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: addressSpace is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.addressSpace)
+ - message: location is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location)
+ status:
+ description: VirtualNetworkStatus defines the observed state of VirtualNetwork.
+ properties:
+ atProvider:
+ properties:
+ addressSpace:
+ description: The address space that is used the virtual network.
+ You can supply more than one address space.
+ items:
+ type: string
+ type: array
+ bgpCommunity:
+ description: The BGP community attribute in format :.
+ type: string
+ ddosProtectionPlan:
+ description: A ddos_protection_plan block as documented below.
+ items:
+ properties:
+ enable:
+ description: Enable/disable DDoS Protection Plan on Virtual
+ Network.
+ type: boolean
+ id:
+ description: The ID of DDoS Protection Plan.
+ type: string
+ type: object
+ type: array
+ dnsServers:
+ description: List of IP addresses of DNS servers
+ items:
+ type: string
+ type: array
+ edgeZone:
+ description: Specifies the Edge Zone within the Azure Region where
+ this Virtual Network should exist. Changing this forces a new
+ Virtual Network to be created.
+ type: string
+ flowTimeoutInMinutes:
+ description: The flow timeout in minutes for the Virtual Network,
+ which is used to enable connection tracking for intra-VM flows.
+ Possible values are between 4 and 30 minutes.
+ type: number
+ guid:
+ description: The GUID of the virtual network.
+ type: string
+ id:
+ description: The virtual NetworkConfiguration ID.
+ type: string
+ location:
+ description: The location/region where the virtual network is
+ created. Changing this forces a new resource to be created.
+ type: string
+ resourceGroupName:
+ description: The name of the resource group in which to create
+ the virtual network. Changing this forces a new resource to
+ be created.
+ type: string
+ subnet:
+ description: Can be specified multiple times to define multiple
+ subnets. Each subnet block supports fields documented below.
+ items:
+ properties:
+ addressPrefix:
+ description: The address prefix to use for the subnet.
+ type: string
+ id:
+ description: The ID of this subnet.
+ type: string
+ name:
+ description: The name of the subnet.
+ type: string
+ securityGroup:
+ description: The Network Security Group to associate with
+ the subnet. (Referenced by id, ie. azurerm_network_security_group.example.id)
+ type: string
+ type: object
+ type: array
+ tags:
+ additionalProperties:
+ type: string
+ description: A mapping of tags to assign to the resource.
+ type: object
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-azure/doc.yaml b/charts/kubedb-provider-azure/doc.yaml
new file mode 100644
index 000000000..18da3e16b
--- /dev/null
+++ b/charts/kubedb-provider-azure/doc.yaml
@@ -0,0 +1,18 @@
+project:
+ name: KubeDB Azure Provider for Crossplane
+ shortName: KubeDB Azure Provider
+ url: https://github.com/kubedb/provider-azure
+ description: KubeDB Azure provider for Crossplane
+ app: a KubeDB Azure provider
+repository:
+ url: https://charts.appscode.com/stable/
+ name: appscode
+chart:
+ name: kubedb-provider-azure
+ values: -- generate from values file --
+ valuesExample: -- generate from values file --
+prerequisites:
+- Kubernetes 1.21+
+release:
+ name: kubedb-provider-azure
+ namespace: crossplane-system
\ No newline at end of file
diff --git a/charts/kubedb-provider-azure/templates/NOTES.txt b/charts/kubedb-provider-azure/templates/NOTES.txt
new file mode 100644
index 000000000..ba72c7f16
--- /dev/null
+++ b/charts/kubedb-provider-azure/templates/NOTES.txt
@@ -0,0 +1,3 @@
+To verify that Supervisor has started, run:
+
+ kubectl get deployment --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "kubedb-provider-azure.name" . }},app.kubernetes.io/instance={{ .Release.Name }}"
diff --git a/charts/kubedb-provider-azure/templates/_helpers.tpl b/charts/kubedb-provider-azure/templates/_helpers.tpl
new file mode 100644
index 000000000..21ca27bb0
--- /dev/null
+++ b/charts/kubedb-provider-azure/templates/_helpers.tpl
@@ -0,0 +1,107 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "kubedb-provider-azure.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
+{{- end }}
+
+{{/*
+Create a default fully qualified app name.
+We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
+If release name contains chart name it will be used as a full name.
+*/}}
+{{- define "kubedb-provider-azure.fullname" -}}
+{{- if .Values.fullnameOverride }}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
+{{- else }}
+{{- $name := default .Chart.Name .Values.nameOverride }}
+{{- if contains $name .Release.Name }}
+{{- .Release.Name | trunc 63 | trimSuffix "-" }}
+{{- else }}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
+{{- end }}
+{{- end }}
+{{- end }}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "kubedb-provider-azure.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
+{{- end }}
+
+{{/*
+Common labels
+*/}}
+{{- define "kubedb-provider-azure.labels" -}}
+helm.sh/chart: {{ include "kubedb-provider-azure.chart" . }}
+{{ include "kubedb-provider-azure.selectorLabels" . }}
+{{- if .Chart.AppVersion }}
+app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
+{{- end }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end }}
+
+{{/*
+Selector labels
+*/}}
+{{- define "kubedb-provider-azure.selectorLabels" -}}
+app.kubernetes.io/name: {{ include "kubedb-provider-azure.name" . }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+{{- end }}
+
+{{/*
+Create the name of the service account to use
+*/}}
+{{- define "kubedb-provider-azure.serviceAccountName" -}}
+{{- if .Values.serviceAccount.create }}
+{{- default (include "kubedb-provider-azure.fullname" .) .Values.serviceAccount.name }}
+{{- else }}
+{{- default "default" .Values.serviceAccount.name }}
+{{- end }}
+{{- end }}
+
+{{/*
+Returns the appscode license
+*/}}
+{{- define "appscode.license" -}}
+{{- .Values.license }}
+{{- end }}
+
+{{/*
+Returns the registry used for operator docker image
+*/}}
+{{- define "image.registry" -}}
+{{- list .Values.registryFQDN .Values.image.registry | compact | join "/" }}
+{{- end }}
+
+{{- define "appscode.imagePullSecrets" -}}
+{{- with .Values.imagePullSecrets -}}
+imagePullSecrets:
+{{- toYaml . | nindent 2 }}
+{{- end }}
+{{- end }}
+
+{{/*
+Returns the enabled monitoring agent name
+*/}}
+{{- define "monitoring.agent" -}}
+{{- .Values.monitoring.agent }}
+{{- end }}
+
+{{/*
+Returns whether the ServiceMonitor will be labeled with custom label
+*/}}
+{{- define "monitoring.apply-servicemonitor-label" -}}
+{{- ternary "false" "true" ( empty .Values.monitoring.serviceMonitor.labels ) -}}
+{{- end }}
+
+{{/*
+Returns the ServiceMonitor labels
+*/}}
+{{- define "monitoring.servicemonitor-label" -}}
+{{- range $key, $val := .Values.monitoring.serviceMonitor.labels }}
+{{ $key }}: {{ $val }}
+{{- end }}
+{{- end }}
diff --git a/charts/kubedb-provider-azure/templates/cluster-role-binding.yaml b/charts/kubedb-provider-azure/templates/cluster-role-binding.yaml
new file mode 100644
index 000000000..86f9ca1d8
--- /dev/null
+++ b/charts/kubedb-provider-azure/templates/cluster-role-binding.yaml
@@ -0,0 +1,14 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: {{ include "kubedb-provider-azure.fullname" . }}
+ labels:
+ {{- include "kubedb-provider-azure.labels" . | nindent 4 }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: {{ include "kubedb-provider-azure.fullname" . }}
+subjects:
+- kind: ServiceAccount
+ name: {{ include "kubedb-provider-azure.fullname" . }}
+ namespace: {{ .Release.Namespace }}
diff --git a/charts/kubedb-provider-azure/templates/cluster-role.yaml b/charts/kubedb-provider-azure/templates/cluster-role.yaml
new file mode 100644
index 000000000..67824a510
--- /dev/null
+++ b/charts/kubedb-provider-azure/templates/cluster-role.yaml
@@ -0,0 +1,37 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: {{ include "kubedb-provider-azure.fullname" . }}
+ labels:
+ {{- include "kubedb-provider-azure.labels" . | nindent 4 }}
+rules:
+- apiGroups:
+ - azure.kubedb.com
+ - cache.azure.kubedb.com
+ - cosmosdb.azure.kubedb.com
+ - dbformariadb.azure.kubedb.com
+ - dbformysql.azure.kubedb.com
+ - dbforpostgresql.azure.kubedb.com
+ - keyvault.azure.kubedb.com
+ - network.azure.kubedb.com
+ resources: ["*"]
+ verbs: ["*"]
+- apiGroups:
+ - apiextensions.k8s.io
+ resources:
+ - customresourcedefinitions
+ verbs: ["*"]
+- apiGroups: [""]
+ resources:
+ - nodes
+ - secrets
+ verbs: ["list","watch","get"]
+- apiGroups: [""]
+ resources:
+ - serviceaccounts
+ verbs: ["create", "get", "patch", "list", "watch"]
+- apiGroups:
+ - ""
+ resources:
+ - events
+ verbs: ["*"]
diff --git a/charts/kubedb-provider-azure/templates/deployment.yaml b/charts/kubedb-provider-azure/templates/deployment.yaml
new file mode 100644
index 000000000..8856419a8
--- /dev/null
+++ b/charts/kubedb-provider-azure/templates/deployment.yaml
@@ -0,0 +1,75 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "kubedb-provider-azure.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "kubedb-provider-azure.labels" . | nindent 4 }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ {{- include "kubedb-provider-azure.selectorLabels" . | nindent 6 }}
+ template:
+ metadata:
+ {{- with .Values.podAnnotations }}
+ annotations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ labels:
+ {{- include "kubedb-provider-azure.selectorLabels" . | nindent 8 }}
+ spec:
+ {{- include "appscode.imagePullSecrets" . | nindent 6 }}
+ serviceAccountName: {{ include "kubedb-provider-azure.serviceAccountName" . }}
+ securityContext:
+ {{- toYaml .Values.podSecurityContext | nindent 8 }}
+ containers:
+ - name: {{ .Chart.Name }}
+ securityContext:
+ {{- toYaml .Values.image.securityContext | nindent 12 }}
+ image: {{ include "image.registry" . }}/{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}
+ imagePullPolicy: {{ .Values.imagePullPolicy }}
+ args:
+ - --debug
+ ports:
+ - containerPort: 8080
+ name: metrics
+ protocol: TCP
+ - containerPort: 9443
+ name: webhook
+ protocol: TCP
+ # ports:
+ # - name: metrics
+ # containerPort: 8080
+ # protocol: TCP
+ # - name: http
+ # containerPort: 8081
+ # protocol: TCP
+ # livenessProbe:
+ # httpGet:
+ # path: /healthz
+ # port: http
+ # readinessProbe:
+ # httpGet:
+ # path: /readyz
+ # port: http
+ resources:
+ {{- toYaml .Values.image.resources | nindent 12 }}
+ volumeMounts:
+ - name: tmp
+ mountPath: /tmp
+ volumes:
+ - name: tmp
+ emptyDir: {}
+ {{- with .Values.nodeSelector }}
+ nodeSelector:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.tolerations }}
+ tolerations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
diff --git a/charts/kubedb-provider-azure/templates/provider-config.yaml b/charts/kubedb-provider-azure/templates/provider-config.yaml
new file mode 100644
index 000000000..7668d6a81
--- /dev/null
+++ b/charts/kubedb-provider-azure/templates/provider-config.yaml
@@ -0,0 +1,11 @@
+apiVersion: azure.kubedb.com/v1beta1
+kind: ProviderConfig
+metadata:
+ name: {{ include "kubedb-provider-azure.fullname" . }}
+spec:
+ credentials:
+ source: Secret
+ secretRef:
+ namespace: capi-cluster
+ name: {{ .Values.azure.secretName }}
+ key: credential_json
diff --git a/charts/kubedb-provider-azure/templates/service.yaml b/charts/kubedb-provider-azure/templates/service.yaml
new file mode 100644
index 000000000..8045a0ad3
--- /dev/null
+++ b/charts/kubedb-provider-azure/templates/service.yaml
@@ -0,0 +1,25 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "kubedb-provider-azure.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "kubedb-provider-azure.labels" . | nindent 4 }}
+{{- if eq "prometheus.io/builtin" ( include "monitoring.agent" . ) }}
+ annotations:
+ prometheus.io/scrape: "true"
+ prometheus.io/path: "/metrics"
+ prometheus.io/port: "8443"
+ prometheus.io/scheme: "https"
+{{- end }}
+spec:
+ ports:
+ # Port used to expose admission webhook apiserver
+ - name: metrics
+ port: 8080
+ targetPort: 8080
+ - name: webhook
+ port: 443
+ targetPort: 9443
+ selector:
+ {{- include "kubedb-provider-azure.selectorLabels" . | nindent 4 }}
diff --git a/charts/kubedb-provider-azure/templates/serviceaccount.yaml b/charts/kubedb-provider-azure/templates/serviceaccount.yaml
new file mode 100644
index 000000000..f79b849bf
--- /dev/null
+++ b/charts/kubedb-provider-azure/templates/serviceaccount.yaml
@@ -0,0 +1,13 @@
+{{- if .Values.serviceAccount.create -}}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: {{ include "kubedb-provider-azure.serviceAccountName" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "kubedb-provider-azure.labels" . | nindent 4 }}
+ {{- with .Values.serviceAccount.annotations }}
+ annotations:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+{{- end }}
diff --git a/charts/kubedb-provider-azure/templates/servicemonitor.yaml b/charts/kubedb-provider-azure/templates/servicemonitor.yaml
new file mode 100644
index 000000000..e0cc4783b
--- /dev/null
+++ b/charts/kubedb-provider-azure/templates/servicemonitor.yaml
@@ -0,0 +1,30 @@
+{{- if eq "prometheus.io/operator" ( include "monitoring.agent" . ) }}
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+ name: {{ include "kubedb-provider-azure.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- if eq "true" ( include "monitoring.apply-servicemonitor-label" . ) }}
+ {{- include "monitoring.servicemonitor-label" . | nindent 4 }}
+ {{- else }}
+ {{- include "kubedb-provider-azure.selectorLabels" . | nindent 4 }}
+ {{- end }}
+spec:
+ namespaceSelector:
+ matchNames:
+ - {{ .Release.Namespace }}
+ selector:
+ matchLabels:
+ {{- include "kubedb-provider-azure.selectorLabels" . | nindent 6 }}
+ endpoints:
+ - port: api
+ bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+ scheme: https
+ tlsConfig:
+ ca:
+ secret:
+ name: {{ include "kubedb-provider-azure.fullname" . }}-apiserver-cert
+ key: tls.crt
+ serverName: "{{ include "kubedb-provider-azure.fullname" . }}.{{ .Release.Namespace }}.svc"
+{{- end }}
diff --git a/charts/kubedb-provider-azure/values.openapiv3_schema.yaml b/charts/kubedb-provider-azure/values.openapiv3_schema.yaml
new file mode 100644
index 000000000..94a1f6512
--- /dev/null
+++ b/charts/kubedb-provider-azure/values.openapiv3_schema.yaml
@@ -0,0 +1,1196 @@
+properties:
+ affinity:
+ description: If specified, the pod's scheduling constraints
+ properties:
+ nodeAffinity:
+ description: Describes node affinity scheduling rules for the pod.
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ description: The scheduler will prefer to schedule pods to nodes that
+ satisfy the affinity expressions specified by this field, but it may
+ choose a node that violates one or more of the expressions. The node
+ that is most preferred is the one with the greatest sum of weights,
+ i.e. for each node that meets all of the scheduling requirements (resource
+ request, requiredDuringScheduling affinity expressions, etc.), compute
+ a sum by iterating through the elements of this field and adding "weight"
+ to the sum if the node matches the corresponding matchExpressions; the
+ node(s) with the highest sum are the most preferred.
+ items:
+ description: An empty preferred scheduling term matches all objects
+ with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling
+ term matches no objects (i.e. is also a no-op).
+ properties:
+ preference:
+ description: A node selector term, associated with the corresponding
+ weight.
+ properties:
+ matchExpressions:
+ description: A list of node selector requirements by node's
+ labels.
+ items:
+ description: A node selector requirement is a selector that
+ contains values, a key, and an operator that relates the
+ key and values.
+ properties:
+ key:
+ description: The label key that the selector applies to.
+ type: string
+ operator:
+ description: Represents a key's relationship to a set
+ of values. Valid operators are In, NotIn, Exists, DoesNotExist.
+ Gt, and Lt.
+ type: string
+ values:
+ description: 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. If the operator is Gt or Lt, the
+ values array must have a single element, which will
+ be interpreted as an integer. This array is replaced
+ during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchFields:
+ description: A list of node selector requirements by node's
+ fields.
+ items:
+ description: A node selector requirement is a selector that
+ contains values, a key, and an operator that relates the
+ key and values.
+ properties:
+ key:
+ description: The label key that the selector applies to.
+ type: string
+ operator:
+ description: Represents a key's relationship to a set
+ of values. Valid operators are In, NotIn, Exists, DoesNotExist.
+ Gt, and Lt.
+ type: string
+ values:
+ description: 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. If the operator is Gt or Lt, the
+ values array must have a single element, which will
+ be interpreted as an integer. This array is replaced
+ during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ type: object
+ x-kubernetes-map-type: atomic
+ weight:
+ description: Weight associated with matching the corresponding nodeSelectorTerm,
+ in the range 1-100.
+ format: int32
+ type: integer
+ required:
+ - preference
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ description: If the affinity requirements specified by this field are
+ not met at scheduling time, the pod will not be scheduled onto the node.
+ If the affinity requirements specified by this field cease to be met
+ at some point during pod execution (e.g. due to an update), the system
+ may or may not try to eventually evict the pod from its node.
+ properties:
+ nodeSelectorTerms:
+ description: Required. A list of node selector terms. The terms are
+ ORed.
+ items:
+ description: A null or empty node selector term matches no objects.
+ The requirements of them are ANDed. The TopologySelectorTerm type
+ implements a subset of the NodeSelectorTerm.
+ properties:
+ matchExpressions:
+ description: A list of node selector requirements by node's
+ labels.
+ items:
+ description: A node selector requirement is a selector that
+ contains values, a key, and an operator that relates the
+ key and values.
+ properties:
+ key:
+ description: The label key that the selector applies to.
+ type: string
+ operator:
+ description: Represents a key's relationship to a set
+ of values. Valid operators are In, NotIn, Exists, DoesNotExist.
+ Gt, and Lt.
+ type: string
+ values:
+ description: 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. If the operator is Gt or Lt, the
+ values array must have a single element, which will
+ be interpreted as an integer. This array is replaced
+ during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchFields:
+ description: A list of node selector requirements by node's
+ fields.
+ items:
+ description: A node selector requirement is a selector that
+ contains values, a key, and an operator that relates the
+ key and values.
+ properties:
+ key:
+ description: The label key that the selector applies to.
+ type: string
+ operator:
+ description: Represents a key's relationship to a set
+ of values. Valid operators are In, NotIn, Exists, DoesNotExist.
+ Gt, and Lt.
+ type: string
+ values:
+ description: 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. If the operator is Gt or Lt, the
+ values array must have a single element, which will
+ be interpreted as an integer. This array is replaced
+ during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ type: object
+ x-kubernetes-map-type: atomic
+ type: array
+ required:
+ - nodeSelectorTerms
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ podAffinity:
+ description: Describes pod affinity scheduling rules (e.g. co-locate this
+ pod in the same node, zone, etc. as some other pod(s)).
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ description: The scheduler will prefer to schedule pods to nodes that
+ satisfy the affinity expressions specified by this field, but it may
+ choose a node that violates one or more of the expressions. The node
+ that is most preferred is the one with the greatest sum of weights,
+ i.e. for each node that meets all of the scheduling requirements (resource
+ request, requiredDuringScheduling affinity expressions, etc.), compute
+ a sum by iterating through the elements of this field and adding "weight"
+ to the sum if the node has pods which matches the corresponding podAffinityTerm;
+ the node(s) with the highest sum are the most preferred.
+ items:
+ description: The weights of all of the matched WeightedPodAffinityTerm
+ fields are added per-node to find the most preferred node(s)
+ properties:
+ podAffinityTerm:
+ description: Required. A pod affinity term, associated with the
+ corresponding weight.
+ properties:
+ labelSelector:
+ description: A label query over a set of resources, in this
+ case pods.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaceSelector:
+ description: A label query over the set of namespaces that the
+ term applies to. The term is applied to the union of the namespaces
+ selected by this field and the ones listed in the namespaces
+ field. null selector and null or empty namespaces list means
+ "this pod's namespace". An empty selector ({}) matches all
+ namespaces.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaces:
+ description: namespaces specifies a static list of namespace
+ names that the term applies to. The term is applied to the
+ union of the namespaces listed in this field and the ones
+ selected by namespaceSelector. null or empty namespaces list
+ and null namespaceSelector means "this pod's namespace".
+ items:
+ type: string
+ type: array
+ topologyKey:
+ description: This pod should be co-located (affinity) or not
+ co-located (anti-affinity) with the pods matching the labelSelector
+ in the specified namespaces, where co-located is defined as
+ running on a node whose value of the label with key topologyKey
+ matches that of any node on which any of the selected pods
+ is running. Empty topologyKey is not allowed.
+ type: string
+ required:
+ - topologyKey
+ type: object
+ weight:
+ description: weight associated with matching the corresponding podAffinityTerm,
+ in the range 1-100.
+ format: int32
+ type: integer
+ required:
+ - podAffinityTerm
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ description: If the affinity requirements specified by this field are
+ not met at scheduling time, the pod will not be scheduled onto the node.
+ If the affinity requirements specified by this field cease to be met
+ at some point during pod execution (e.g. due to a pod label update),
+ the system may or may not try to eventually evict the pod from its node.
+ When there are multiple elements, the lists of nodes corresponding to
+ each podAffinityTerm are intersected, i.e. all terms must be satisfied.
+ items:
+ description: Defines a set of pods (namely those matching the labelSelector
+ relative to the given namespace(s)) that this pod should be co-located
+ (affinity) or not co-located (anti-affinity) with, where co-located
+ is defined as running on a node whose value of the label with key
+ matches that of any node on which a pod of the set of
+ pods is running
+ properties:
+ labelSelector:
+ description: A label query over a set of resources, in this case
+ pods.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaceSelector:
+ description: A label query over the set of namespaces that the term
+ applies to. The term is applied to the union of the namespaces
+ selected by this field and the ones listed in the namespaces field.
+ null selector and null or empty namespaces list means "this pod's
+ namespace". An empty selector ({}) matches all namespaces.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaces:
+ description: namespaces specifies a static list of namespace names
+ that the term applies to. The term is applied to the union of
+ the namespaces listed in this field and the ones selected by namespaceSelector.
+ null or empty namespaces list and null namespaceSelector means
+ "this pod's namespace".
+ items:
+ type: string
+ type: array
+ topologyKey:
+ description: This pod should be co-located (affinity) or not co-located
+ (anti-affinity) with the pods matching the labelSelector in the
+ specified namespaces, where co-located is defined as running on
+ a node whose value of the label with key topologyKey matches that
+ of any node on which any of the selected pods is running. Empty
+ topologyKey is not allowed.
+ type: string
+ required:
+ - topologyKey
+ type: object
+ type: array
+ type: object
+ podAntiAffinity:
+ description: Describes pod anti-affinity scheduling rules (e.g. avoid putting
+ this pod in the same node, zone, etc. as some other pod(s)).
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ description: The scheduler will prefer to schedule pods to nodes that
+ satisfy the anti-affinity expressions specified by this field, but it
+ may choose a node that violates one or more of the expressions. The
+ node that is most preferred is the one with the greatest sum of weights,
+ i.e. for each node that meets all of the scheduling requirements (resource
+ request, requiredDuringScheduling anti-affinity expressions, etc.),
+ compute a sum by iterating through the elements of this field and adding
+ "weight" to the sum if the node has pods which matches the corresponding
+ podAffinityTerm; the node(s) with the highest sum are the most preferred.
+ items:
+ description: The weights of all of the matched WeightedPodAffinityTerm
+ fields are added per-node to find the most preferred node(s)
+ properties:
+ podAffinityTerm:
+ description: Required. A pod affinity term, associated with the
+ corresponding weight.
+ properties:
+ labelSelector:
+ description: A label query over a set of resources, in this
+ case pods.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaceSelector:
+ description: A label query over the set of namespaces that the
+ term applies to. The term is applied to the union of the namespaces
+ selected by this field and the ones listed in the namespaces
+ field. null selector and null or empty namespaces list means
+ "this pod's namespace". An empty selector ({}) matches all
+ namespaces.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaces:
+ description: namespaces specifies a static list of namespace
+ names that the term applies to. The term is applied to the
+ union of the namespaces listed in this field and the ones
+ selected by namespaceSelector. null or empty namespaces list
+ and null namespaceSelector means "this pod's namespace".
+ items:
+ type: string
+ type: array
+ topologyKey:
+ description: This pod should be co-located (affinity) or not
+ co-located (anti-affinity) with the pods matching the labelSelector
+ in the specified namespaces, where co-located is defined as
+ running on a node whose value of the label with key topologyKey
+ matches that of any node on which any of the selected pods
+ is running. Empty topologyKey is not allowed.
+ type: string
+ required:
+ - topologyKey
+ type: object
+ weight:
+ description: weight associated with matching the corresponding podAffinityTerm,
+ in the range 1-100.
+ format: int32
+ type: integer
+ required:
+ - podAffinityTerm
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ description: If the anti-affinity requirements specified by this field
+ are not met at scheduling time, the pod will not be scheduled onto the
+ node. If the anti-affinity requirements specified by this field cease
+ to be met at some point during pod execution (e.g. due to a pod label
+ update), the system may or may not try to eventually evict the pod from
+ its node. When there are multiple elements, the lists of nodes corresponding
+ to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
+ items:
+ description: Defines a set of pods (namely those matching the labelSelector
+ relative to the given namespace(s)) that this pod should be co-located
+ (affinity) or not co-located (anti-affinity) with, where co-located
+ is defined as running on a node whose value of the label with key
+ matches that of any node on which a pod of the set of
+ pods is running
+ properties:
+ labelSelector:
+ description: A label query over a set of resources, in this case
+ pods.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaceSelector:
+ description: A label query over the set of namespaces that the term
+ applies to. The term is applied to the union of the namespaces
+ selected by this field and the ones listed in the namespaces field.
+ null selector and null or empty namespaces list means "this pod's
+ namespace". An empty selector ({}) matches all namespaces.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaces:
+ description: namespaces specifies a static list of namespace names
+ that the term applies to. The term is applied to the union of
+ the namespaces listed in this field and the ones selected by namespaceSelector.
+ null or empty namespaces list and null namespaceSelector means
+ "this pod's namespace".
+ items:
+ type: string
+ type: array
+ topologyKey:
+ description: This pod should be co-located (affinity) or not co-located
+ (anti-affinity) with the pods matching the labelSelector in the
+ specified namespaces, where co-located is defined as running on
+ a node whose value of the label with key topologyKey matches that
+ of any node on which any of the selected pods is running. Empty
+ topologyKey is not allowed.
+ type: string
+ required:
+ - topologyKey
+ type: object
+ type: array
+ type: object
+ type: object
+ azure:
+ properties:
+ secretName:
+ type: string
+ required:
+ - secretName
+ type: object
+ fullnameOverride:
+ type: string
+ image:
+ properties:
+ registry:
+ type: string
+ repository:
+ type: string
+ resources:
+ description: Compute Resources required by the sidecar container.
+ properties:
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: 'Limits describes the maximum amount of compute resources
+ allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: 'Requests describes the minimum amount of compute resources
+ required. If Requests is omitted for a container, it defaults to Limits
+ if that is explicitly specified, otherwise to an implementation-defined
+ value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
+ type: object
+ type: object
+ securityContext:
+ description: Security options the pod should run with.
+ properties:
+ allowPrivilegeEscalation:
+ description: 'AllowPrivilegeEscalation controls whether a process can
+ gain more privileges than its parent process. This bool directly controls
+ if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation
+ is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN
+ Note that this field cannot be set when spec.os.name is windows.'
+ type: boolean
+ capabilities:
+ description: The capabilities to add/drop when running containers. Defaults
+ to the default set of capabilities granted by the container runtime.
+ Note that this field cannot be set when spec.os.name is windows.
+ properties:
+ add:
+ description: Added capabilities
+ items:
+ description: Capability represent POSIX capabilities type
+ type: string
+ type: array
+ drop:
+ description: Removed capabilities
+ items:
+ description: Capability represent POSIX capabilities type
+ type: string
+ type: array
+ type: object
+ privileged:
+ description: Run container in privileged mode. Processes in privileged
+ containers are essentially equivalent to root on the host. Defaults
+ to false. Note that this field cannot be set when spec.os.name is windows.
+ type: boolean
+ procMount:
+ description: procMount denotes the type of proc mount to use for the containers.
+ The default is DefaultProcMount which uses the container runtime defaults
+ for readonly paths and masked paths. This requires the ProcMountType
+ feature flag to be enabled. Note that this field cannot be set when
+ spec.os.name is windows.
+ type: string
+ readOnlyRootFilesystem:
+ description: Whether this container has a read-only root filesystem. Default
+ is false. Note that this field cannot be set when spec.os.name is windows.
+ type: boolean
+ runAsGroup:
+ description: The GID to run the entrypoint of the container process. Uses
+ runtime default if unset. May also be set in PodSecurityContext. If
+ set in both SecurityContext and PodSecurityContext, the value specified
+ in SecurityContext takes precedence. Note that this field cannot be
+ set when spec.os.name is windows.
+ format: int64
+ type: integer
+ runAsNonRoot:
+ description: Indicates that the container must run as a non-root user.
+ If true, the Kubelet will validate the image at runtime to ensure that
+ it does not run as UID 0 (root) and fail to start the container if it
+ does. If unset or false, no such validation will be performed. May also
+ be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext,
+ the value specified in SecurityContext takes precedence.
+ type: boolean
+ runAsUser:
+ description: The UID to run the entrypoint of the container process. Defaults
+ to user specified in image metadata if unspecified. May also be set
+ in PodSecurityContext. If set in both SecurityContext and PodSecurityContext,
+ the value specified in SecurityContext takes precedence. Note that this
+ field cannot be set when spec.os.name is windows.
+ format: int64
+ type: integer
+ seLinuxOptions:
+ description: The SELinux context to be applied to the container. If unspecified,
+ the container runtime will allocate a random SELinux context for each
+ container. May also be set in PodSecurityContext. If set in both SecurityContext
+ and PodSecurityContext, the value specified in SecurityContext takes
+ precedence. Note that this field cannot be set when spec.os.name is
+ windows.
+ properties:
+ level:
+ description: Level is SELinux level label that applies to the container.
+ type: string
+ role:
+ description: Role is a SELinux role label that applies to the container.
+ type: string
+ type:
+ description: Type is a SELinux type label that applies to the container.
+ type: string
+ user:
+ description: User is a SELinux user label that applies to the container.
+ type: string
+ type: object
+ seccompProfile:
+ description: The seccomp options to use by this container. If seccomp
+ options are provided at both the pod & container level, the container
+ options override the pod options. Note that this field cannot be set
+ when spec.os.name is windows.
+ properties:
+ localhostProfile:
+ description: localhostProfile indicates a profile defined in a file
+ on the node should be used. The profile must be preconfigured on
+ the node to work. Must be a descending path, relative to the kubelet's
+ configured seccomp profile location. Must only be set if type is
+ "Localhost".
+ type: string
+ type:
+ description: "type indicates which kind of seccomp profile will be\
+ \ applied. Valid options are: \n Localhost - a profile defined in\
+ \ a file on the node should be used. RuntimeDefault - the container\
+ \ runtime default profile should be used. Unconfined - no profile\
+ \ should be applied."
+ type: string
+ required:
+ - type
+ type: object
+ windowsOptions:
+ description: The Windows specific settings applied to all containers.
+ If unspecified, the options from the PodSecurityContext will be used.
+ If set in both SecurityContext and PodSecurityContext, the value specified
+ in SecurityContext takes precedence. Note that this field cannot be
+ set when spec.os.name is linux.
+ properties:
+ gmsaCredentialSpec:
+ description: GMSACredentialSpec is where the GMSA admission webhook
+ (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents
+ of the GMSA credential spec named by the GMSACredentialSpecName
+ field.
+ type: string
+ gmsaCredentialSpecName:
+ description: GMSACredentialSpecName is the name of the GMSA credential
+ spec to use.
+ type: string
+ hostProcess:
+ description: HostProcess determines if a container should be run as
+ a 'Host Process' container. This field is alpha-level and will only
+ be honored by components that enable the WindowsHostProcessContainers
+ feature flag. Setting this field without the feature flag will result
+ in errors when validating the Pod. All of a Pod's containers must
+ have the same effective HostProcess value (it is not allowed to
+ have a mix of HostProcess containers and non-HostProcess containers). In
+ addition, if HostProcess is true then HostNetwork must also be set
+ to true.
+ type: boolean
+ runAsUserName:
+ description: The UserName in Windows to run the entrypoint of the
+ container process. Defaults to the user specified in image metadata
+ if unspecified. May also be set in PodSecurityContext. If set in
+ both SecurityContext and PodSecurityContext, the value specified
+ in SecurityContext takes precedence.
+ type: string
+ type: object
+ type: object
+ tag:
+ type: string
+ required:
+ - registry
+ - repository
+ - tag
+ type: object
+ imagePullPolicy:
+ type: string
+ imagePullSecrets:
+ items:
+ type: string
+ type: array
+ monitoring:
+ properties:
+ agent:
+ enum:
+ - prometheus.io
+ - prometheus.io/operator
+ - prometheus.io/builtin
+ type: string
+ serviceMonitor:
+ properties:
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ required:
+ - agent
+ - serviceMonitor
+ type: object
+ nameOverride:
+ type: string
+ nodeSelector:
+ additionalProperties:
+ type: string
+ type: object
+ podAnnotations:
+ additionalProperties:
+ type: string
+ type: object
+ podSecurityContext:
+ description: 'PodSecurityContext holds pod-level security attributes and common
+ container settings. Optional: Defaults to empty. See type description for default
+ values of each field.'
+ properties:
+ fsGroup:
+ description: "A special supplemental group that applies to all containers\
+ \ in a pod. Some volume types allow the Kubelet to change the ownership\
+ \ of that volume to be owned by the pod: \n 1. The owning GID will be the\
+ \ FSGroup 2. The setgid bit is set (new files created in the volume will\
+ \ be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- \n\
+ \ If unset, the Kubelet will not modify the ownership and permissions of\
+ \ any volume. Note that this field cannot be set when spec.os.name is windows."
+ format: int64
+ type: integer
+ fsGroupChangePolicy:
+ description: 'fsGroupChangePolicy defines behavior of changing ownership and
+ permission of the volume before being exposed inside Pod. This field will
+ only apply to volume types which support fsGroup based ownership(and permissions).
+ It will have no effect on ephemeral volume types such as: secret, configmaps
+ and emptydir. Valid values are "OnRootMismatch" and "Always". If not specified,
+ "Always" is used. Note that this field cannot be set when spec.os.name is
+ windows.'
+ type: string
+ runAsGroup:
+ description: The GID to run the entrypoint of the container process. Uses
+ runtime default if unset. May also be set in SecurityContext. If set in
+ both SecurityContext and PodSecurityContext, the value specified in SecurityContext
+ takes precedence for that container. Note that this field cannot be set
+ when spec.os.name is windows.
+ format: int64
+ type: integer
+ runAsNonRoot:
+ description: Indicates that the container must run as a non-root user. If
+ true, the Kubelet will validate the image at runtime to ensure that it does
+ not run as UID 0 (root) and fail to start the container if it does. If unset
+ or false, no such validation will be performed. May also be set in SecurityContext. If
+ set in both SecurityContext and PodSecurityContext, the value specified
+ in SecurityContext takes precedence.
+ type: boolean
+ runAsUser:
+ description: The UID to run the entrypoint of the container process. Defaults
+ to user specified in image metadata if unspecified. May also be set in SecurityContext. If
+ set in both SecurityContext and PodSecurityContext, the value specified
+ in SecurityContext takes precedence for that container. Note that this field
+ cannot be set when spec.os.name is windows.
+ format: int64
+ type: integer
+ seLinuxOptions:
+ description: The SELinux context to be applied to all containers. If unspecified,
+ the container runtime will allocate a random SELinux context for each container. May
+ also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext,
+ the value specified in SecurityContext takes precedence for that container.
+ Note that this field cannot be set when spec.os.name is windows.
+ properties:
+ level:
+ description: Level is SELinux level label that applies to the container.
+ type: string
+ role:
+ description: Role is a SELinux role label that applies to the container.
+ type: string
+ type:
+ description: Type is a SELinux type label that applies to the container.
+ type: string
+ user:
+ description: User is a SELinux user label that applies to the container.
+ type: string
+ type: object
+ seccompProfile:
+ description: The seccomp options to use by the containers in this pod. Note
+ that this field cannot be set when spec.os.name is windows.
+ properties:
+ localhostProfile:
+ description: localhostProfile indicates a profile defined in a file on
+ the node should be used. The profile must be preconfigured on the node
+ to work. Must be a descending path, relative to the kubelet's configured
+ seccomp profile location. Must only be set if type is "Localhost".
+ type: string
+ type:
+ description: "type indicates which kind of seccomp profile will be applied.\
+ \ Valid options are: \n Localhost - a profile defined in a file on the\
+ \ node should be used. RuntimeDefault - the container runtime default\
+ \ profile should be used. Unconfined - no profile should be applied."
+ type: string
+ required:
+ - type
+ type: object
+ supplementalGroups:
+ description: A list of groups applied to the first process run in each container,
+ in addition to the container's primary GID. If unspecified, no groups will
+ be added to any container. Note that this field cannot be set when spec.os.name
+ is windows.
+ items:
+ format: int64
+ type: integer
+ type: array
+ sysctls:
+ description: Sysctls hold a list of namespaced sysctls used for the pod. Pods
+ with unsupported sysctls (by the container runtime) might fail to launch.
+ Note that this field cannot be set when spec.os.name is windows.
+ items:
+ description: Sysctl defines a kernel parameter to be set
+ properties:
+ name:
+ description: Name of a property to set
+ type: string
+ value:
+ description: Value of a property to set
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ windowsOptions:
+ description: The Windows specific settings applied to all containers. If unspecified,
+ the options within a container's SecurityContext will be used. If set in
+ both SecurityContext and PodSecurityContext, the value specified in SecurityContext
+ takes precedence. Note that this field cannot be set when spec.os.name is
+ linux.
+ properties:
+ gmsaCredentialSpec:
+ description: GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa)
+ inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName
+ field.
+ type: string
+ gmsaCredentialSpecName:
+ description: GMSACredentialSpecName is the name of the GMSA credential
+ spec to use.
+ type: string
+ hostProcess:
+ description: HostProcess determines if a container should be run as a
+ 'Host Process' container. This field is alpha-level and will only be
+ honored by components that enable the WindowsHostProcessContainers feature
+ flag. Setting this field without the feature flag will result in errors
+ when validating the Pod. All of a Pod's containers must have the same
+ effective HostProcess value (it is not allowed to have a mix of HostProcess
+ containers and non-HostProcess containers). In addition, if HostProcess
+ is true then HostNetwork must also be set to true.
+ type: boolean
+ runAsUserName:
+ description: The UserName in Windows to run the entrypoint of the container
+ process. Defaults to the user specified in image metadata if unspecified.
+ May also be set in PodSecurityContext. If set in both SecurityContext
+ and PodSecurityContext, the value specified in SecurityContext takes
+ precedence.
+ type: string
+ type: object
+ type: object
+ registryFQDN:
+ type: string
+ replicaCount:
+ type: integer
+ serviceAccount:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ create:
+ type: boolean
+ name:
+ type: string
+ required:
+ - create
+ type: object
+ tolerations:
+ description: If specified, the pod's tolerations.
+ items:
+ description: The pod this Toleration is attached to tolerates any taint that
+ matches the triple using the matching operator .
+ properties:
+ effect:
+ description: Effect indicates the taint effect to match. Empty means match
+ all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule
+ and NoExecute.
+ type: string
+ key:
+ description: Key is the taint key that the toleration applies to. Empty
+ means match all taint keys. If the key is empty, operator must be Exists;
+ this combination means to match all values and all keys.
+ type: string
+ operator:
+ description: Operator represents a key's relationship to the value. Valid
+ operators are Exists and Equal. Defaults to Equal. Exists is equivalent
+ to wildcard for value, so that a pod can tolerate all taints of a particular
+ category.
+ type: string
+ tolerationSeconds:
+ description: TolerationSeconds represents the period of time the toleration
+ (which must be of effect NoExecute, otherwise this field is ignored) tolerates
+ the taint. By default, it is not set, which means tolerate the taint forever
+ (do not evict). Zero and negative values will be treated as 0 (evict immediately)
+ by the system.
+ format: int64
+ type: integer
+ value:
+ description: Value is the taint value the toleration matches to. If the
+ operator is Exists, the value should be empty, otherwise just a regular
+ string.
+ type: string
+ type: object
+ type: array
+required:
+- azure
+- image
+- imagePullPolicy
+- monitoring
+- registryFQDN
+- replicaCount
+- serviceAccount
+type: object
diff --git a/charts/kubedb-provider-azure/values.yaml b/charts/kubedb-provider-azure/values.yaml
new file mode 100644
index 000000000..3e4d194d0
--- /dev/null
+++ b/charts/kubedb-provider-azure/values.yaml
@@ -0,0 +1,76 @@
+# Default values for kubedb-provider-azure.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+# Overrides name template
+nameOverride: ""
+# Overrides fullname template
+fullnameOverride: ""
+
+replicaCount: 1
+
+# Docker registry fqdn used to pull docker images
+# Set this to use docker registry hosted at ${registryFQDN}/${registry}/${image}
+registryFQDN: ghcr.io
+image:
+ # Docker registry used to pull operator image
+ registry: kubedb
+ # Name of operator container image
+ repository: provider-azure
+ # Overrides the image tag whose default is the chart appVersion.
+ tag: ""
+ # Compute Resources required by the operator container
+ resources: {}
+ # Security options the operator container should run with
+ securityContext: # +doc-gen:break
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop: ["ALL"]
+ readOnlyRootFilesystem: true
+ runAsNonRoot: true
+ runAsUser: 65534
+ seccompProfile:
+ type: RuntimeDefault
+
+# Specify an array of imagePullSecrets.
+# Secrets must be manually created in the namespace.
+#
+# Example:
+# helm template charts/stash \
+# --set imagePullSecrets[0].name=sec0 \
+# --set imagePullSecrets[1].name=sec1
+imagePullSecrets: []
+# Container image pull policy
+imagePullPolicy: Always
+
+serviceAccount:
+ # Specifies whether a service account should be created
+ create: true
+ # Annotations to add to the service account
+ annotations: {}
+ # The name of the service account to use.
+ # If not set and create is true, a name is generated using the fullname template
+ name: ""
+
+podAnnotations: {}
+
+podSecurityContext: {}
+ # fsGroup: 2000
+
+nodeSelector: {}
+
+tolerations: []
+
+affinity: {}
+
+monitoring:
+ # Name of monitoring agent (one of "prometheus.io", "prometheus.io/operator", "prometheus.io/builtin")
+ agent: ""
+ serviceMonitor:
+ # Specify the labels for ServiceMonitor.
+ # Prometheus crd will select ServiceMonitor using these labels.
+ # Only usable when monitoring agent is `prometheus.io/operator`.
+ labels: {}
+
+azure:
+ secretName: "azure-credential"
diff --git a/charts/kubedb-provider-gcp/.helmignore b/charts/kubedb-provider-gcp/.helmignore
new file mode 100644
index 000000000..e03134ce3
--- /dev/null
+++ b/charts/kubedb-provider-gcp/.helmignore
@@ -0,0 +1,23 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.terraform
+*.tfstate*
diff --git a/charts/kubedb-provider-gcp/Chart.yaml b/charts/kubedb-provider-gcp/Chart.yaml
new file mode 100755
index 000000000..e68caff9d
--- /dev/null
+++ b/charts/kubedb-provider-gcp/Chart.yaml
@@ -0,0 +1,13 @@
+apiVersion: v2
+name: kubedb-provider-gcp
+description: A Helm chart for KubeDB GCP Provider for Crossplane
+type: application
+version: v0.0.1
+appVersion: v0.0.1
+home: https://github.com/kubedb/provider-gcp
+icon: https://cdn.appscode.com/images/products/searchlight/icons/android-icon-192x192.png
+sources:
+- https://github.com/kubedb/provider-gcp
+maintainers:
+- name: appscode
+ email: support@appscode.com
diff --git a/charts/kubedb-provider-gcp/README.md b/charts/kubedb-provider-gcp/README.md
new file mode 100644
index 000000000..7e6758727
--- /dev/null
+++ b/charts/kubedb-provider-gcp/README.md
@@ -0,0 +1,86 @@
+# KubeDB GCP Provider
+
+[KubeDB GCP Provider for Crossplane](https://github.com/kubedb/provider-gcp) - KubeDB GCP provider for Crossplane
+
+## TL;DR;
+
+```bash
+$ helm repo add appscode https://charts.appscode.com/stable/
+$ helm repo update
+$ helm search repo appscode/kubedb-provider-gcp --version=v0.0.1
+$ helm upgrade -i kubedb-provider-gcp appscode/kubedb-provider-gcp -n crossplane-system --create-namespace --version=v0.0.1
+```
+
+## Introduction
+
+This chart deploys a KubeDB GCP provider on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
+
+## Prerequisites
+
+- Kubernetes 1.21+
+
+## Installing the Chart
+
+To install/upgrade the chart with the release name `kubedb-provider-gcp`:
+
+```bash
+$ helm upgrade -i kubedb-provider-gcp appscode/kubedb-provider-gcp -n crossplane-system --create-namespace --version=v0.0.1
+```
+
+The command deploys a KubeDB GCP provider on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation.
+
+> **Tip**: List all releases using `helm list`
+
+## Uninstalling the Chart
+
+To uninstall the `kubedb-provider-gcp`:
+
+```bash
+$ helm uninstall kubedb-provider-gcp -n crossplane-system
+```
+
+The command removes all the Kubernetes components associated with the chart and deletes the release.
+
+## Configuration
+
+The following table lists the configurable parameters of the `kubedb-provider-gcp` chart and their default values.
+
+| Parameter | Description | Default |
+|----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| nameOverride | Overrides name template | ""
|
+| fullnameOverride | Overrides fullname template | ""
|
+| replicaCount | | 1
|
+| registryFQDN | Docker registry fqdn used to pull docker images Set this to use docker registry hosted at ${registryFQDN}/${registry}/${image} | ghcr.io
|
+| image.registry | Docker registry used to pull operator image | kubedb
|
+| image.repository | Name of operator container image | provider-gcp
|
+| image.tag | Overrides the image tag whose default is the chart appVersion. | ""
|
+| image.resources | Compute Resources required by the operator container | {}
|
+| image.securityContext | Security options the operator container should run with | {"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsNonRoot":true,"runAsUser":65534,"seccompProfile":{"type":"RuntimeDefault"}}
|
+| imagePullSecrets | Specify an array of imagePullSecrets. Secrets must be manually created in the namespace.
Example:
`helm template charts/stash \`
`--set imagePullSecrets[0].name=sec0 \`
`--set imagePullSecrets[1].name=sec1` | []
|
+| imagePullPolicy | Container image pull policy | Always
|
+| serviceAccount.create | Specifies whether a service account should be created | true
|
+| serviceAccount.annotations | Annotations to add to the service account | {}
|
+| serviceAccount.name | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | ""
|
+| podAnnotations | | {}
|
+| podSecurityContext | | {}
|
+| nodeSelector | | {}
|
+| tolerations | | []
|
+| affinity | | {}
|
+| monitoring.agent | Name of monitoring agent (one of "prometheus.io", "prometheus.io/operator", "prometheus.io/builtin") | ""
|
+| monitoring.serviceMonitor.labels | Specify the labels for ServiceMonitor. Prometheus crd will select ServiceMonitor using these labels. Only usable when monitoring agent is `prometheus.io/operator`. | {}
|
+| gcp.projectID | | ""
|
+| gcp.secretName | | "gcp-credential"
|
+
+
+Specify each parameter using the `--set key=value[,key=value]` argument to `helm upgrade -i`. For example:
+
+```bash
+$ helm upgrade -i kubedb-provider-gcp appscode/kubedb-provider-gcp -n crossplane-system --create-namespace --version=v0.0.1 --set replicaCount=1
+```
+
+Alternatively, a YAML file that specifies the values for the parameters can be provided while
+installing the chart. For example:
+
+```bash
+$ helm upgrade -i kubedb-provider-gcp appscode/kubedb-provider-gcp -n crossplane-system --create-namespace --version=v0.0.1 --values values.yaml
+```
diff --git a/charts/kubedb-provider-gcp/ci/ci-values.yaml b/charts/kubedb-provider-gcp/ci/ci-values.yaml
new file mode 100644
index 000000000..c5ec0e0ee
--- /dev/null
+++ b/charts/kubedb-provider-gcp/ci/ci-values.yaml
@@ -0,0 +1,3 @@
+# https://github.com/helm/charts/blob/master/test/README.md#providing-custom-test-values
+gcp:
+ projectID: test
diff --git a/charts/kubedb-provider-gcp/crds/compute.gcp.kubedb.com_firewalls.yaml b/charts/kubedb-provider-gcp/crds/compute.gcp.kubedb.com_firewalls.yaml
new file mode 100644
index 000000000..675895586
--- /dev/null
+++ b/charts/kubedb-provider-gcp/crds/compute.gcp.kubedb.com_firewalls.yaml
@@ -0,0 +1,932 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: firewalls.compute.gcp.kubedb.com
+spec:
+ group: compute.gcp.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - gcp
+ kind: Firewall
+ listKind: FirewallList
+ plural: firewalls
+ singular: firewall
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Firewall is the Schema for the Firewalls API. Each network has
+ its own firewall controlling access to and from the instances.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: FirewallSpec defines the desired state of Firewall
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ allow:
+ description: The list of ALLOW rules specified by this firewall.
+ Each rule specifies a protocol and port-range tuple that describes
+ a permitted connection. Structure is documented below. The list
+ of ALLOW rules specified by this firewall. Each rule specifies
+ a protocol and port-range tuple that describes a permitted connection.
+ items:
+ properties:
+ ports:
+ description: "An optional list of ports to which this rule
+ applies. This field is only applicable for UDP or TCP
+ protocol. Each entry must be either an integer or a range.
+ If not specified, this rule applies to connections through
+ any port. Example inputs include: [\"22\"], [\"80\",\"443\"],
+ and [\"12345-12349\"]. An optional list of ports to which
+ this rule applies. This field is only applicable for UDP
+ or TCP protocol. Each entry must be either an integer
+ or a range. If not specified, this rule applies to connections
+ through any port. \n Example inputs include: [\"22\"],
+ [\"80\",\"443\"], and [\"12345-12349\"]."
+ items:
+ type: string
+ type: array
+ protocol:
+ description: The IP protocol to which this rule applies.
+ The protocol type is required when creating a firewall
+ rule. This value can either be one of the following well
+ known protocol strings (tcp, udp, icmp, esp, ah, sctp,
+ ipip, all), or the IP protocol number. The IP protocol
+ to which this rule applies. The protocol type is required
+ when creating a firewall rule. This value can either be
+ one of the following well known protocol strings (tcp,
+ udp, icmp, esp, ah, sctp, ipip, all), or the IP protocol
+ number.
+ type: string
+ required:
+ - protocol
+ type: object
+ type: array
+ deny:
+ description: The list of DENY rules specified by this firewall.
+ Each rule specifies a protocol and port-range tuple that describes
+ a denied connection. Structure is documented below. The list
+ of DENY rules specified by this firewall. Each rule specifies
+ a protocol and port-range tuple that describes a denied connection.
+ items:
+ properties:
+ ports:
+ description: "An optional list of ports to which this rule
+ applies. This field is only applicable for UDP or TCP
+ protocol. Each entry must be either an integer or a range.
+ If not specified, this rule applies to connections through
+ any port. Example inputs include: [\"22\"], [\"80\",\"443\"],
+ and [\"12345-12349\"]. An optional list of ports to which
+ this rule applies. This field is only applicable for UDP
+ or TCP protocol. Each entry must be either an integer
+ or a range. If not specified, this rule applies to connections
+ through any port. \n Example inputs include: [\"22\"],
+ [\"80\",\"443\"], and [\"12345-12349\"]."
+ items:
+ type: string
+ type: array
+ protocol:
+ description: The IP protocol to which this rule applies.
+ The protocol type is required when creating a firewall
+ rule. This value can either be one of the following well
+ known protocol strings (tcp, udp, icmp, esp, ah, sctp,
+ ipip, all), or the IP protocol number. The IP protocol
+ to which this rule applies. The protocol type is required
+ when creating a firewall rule. This value can either be
+ one of the following well known protocol strings (tcp,
+ udp, icmp, esp, ah, sctp, ipip, all), or the IP protocol
+ number.
+ type: string
+ required:
+ - protocol
+ type: object
+ type: array
+ description:
+ description: An optional description of this resource. Provide
+ this property when you create the resource. An optional description
+ of this resource. Provide this property when you create the
+ resource.
+ type: string
+ destinationRanges:
+ description: If destination ranges are specified, the firewall
+ will apply only to traffic that has destination IP address in
+ these ranges. These ranges must be expressed in CIDR format.
+ IPv4 or IPv6 ranges are supported. If destination ranges are
+ specified, the firewall will apply only to traffic that has
+ destination IP address in these ranges. These ranges must be
+ expressed in CIDR format. IPv4 or IPv6 ranges are supported.
+ items:
+ type: string
+ type: array
+ direction:
+ description: 'Direction of traffic to which this firewall applies;
+ default is INGRESS. Note: For INGRESS traffic, one of source_ranges,
+ source_tags or source_service_accounts is required. Possible
+ values are: INGRESS, EGRESS. Direction of traffic to which this
+ firewall applies; default is INGRESS. Note: For INGRESS traffic,
+ one of ''source_ranges'', ''source_tags'' or ''source_service_accounts''
+ is required. Possible values: ["INGRESS", "EGRESS"]'
+ type: string
+ disabled:
+ description: Denotes whether the firewall rule is disabled, i.e
+ not applied to the network it is associated with. When set to
+ true, the firewall rule is not enforced and the network behaves
+ as if it did not exist. If this is unspecified, the firewall
+ rule will be enabled. Denotes whether the firewall rule is disabled,
+ i.e not applied to the network it is associated with. When set
+ to true, the firewall rule is not enforced and the network behaves
+ as if it did not exist. If this is unspecified, the firewall
+ rule will be enabled.
+ type: boolean
+ enableLogging:
+ description: This field denotes whether to enable logging for
+ a particular firewall rule. If logging is enabled, logs will
+ be exported to Stackdriver. Deprecated in favor of log_config
+ This field denotes whether to enable logging for a particular
+ firewall rule. If logging is enabled, logs will be exported
+ to Stackdriver.
+ type: boolean
+ logConfig:
+ description: This field denotes the logging options for a particular
+ firewall rule. If defined, logging is enabled, and logs will
+ be exported to Cloud Logging. Structure is documented below.
+ This field denotes the logging options for a particular firewall
+ rule. If defined, logging is enabled, and logs will be exported
+ to Cloud Logging.
+ items:
+ properties:
+ metadata:
+ description: 'This field denotes whether to include or exclude
+ metadata for firewall logs. Possible values are: EXCLUDE_ALL_METADATA,
+ INCLUDE_ALL_METADATA. This field denotes whether to include
+ or exclude metadata for firewall logs. Possible values:
+ ["EXCLUDE_ALL_METADATA", "INCLUDE_ALL_METADATA"]'
+ type: string
+ required:
+ - metadata
+ type: object
+ type: array
+ network:
+ description: The name or self_link of the network to attach this
+ firewall to. The name or self_link of the network to attach
+ this firewall to.
+ type: string
+ networkRef:
+ description: Reference to a Network to populate network.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ networkSelector:
+ description: Selector for a Network to populate network.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ priority:
+ description: Priority for this rule. This is an integer between
+ 0 and 65535, both inclusive. When not specified, the value assumed
+ is 1000. Relative priorities determine precedence of conflicting
+ rules. Lower value of priority implies higher precedence (eg,
+ a rule with priority 0 has higher precedence than a rule with
+ priority 1). DENY rules take precedence over ALLOW rules having
+ equal priority. Priority for this rule. This is an integer between
+ 0 and 65535, both inclusive. When not specified, the value assumed
+ is 1000. Relative priorities determine precedence of conflicting
+ rules. Lower value of priority implies higher precedence (eg,
+ a rule with priority 0 has higher precedence than a rule with
+ priority 1). DENY rules take precedence over ALLOW rules having
+ equal priority.
+ type: number
+ project:
+ description: The ID of the project in which the resource belongs.
+ If it is not provided, the provider project is used.
+ type: string
+ sourceRanges:
+ description: If source ranges are specified, the firewall will
+ apply only to traffic that has source IP address in these ranges.
+ These ranges must be expressed in CIDR format. One or both of
+ sourceRanges and sourceTags may be set. If both properties are
+ set, the firewall will apply to traffic that has source IP address
+ within sourceRanges OR the source IP that belongs to a tag listed
+ in the sourceTags property. The connection does not need to
+ match both properties for the firewall to apply. IPv4 or IPv6
+ ranges are supported. For INGRESS traffic, one of source_ranges,
+ source_tags or source_service_accounts is required. If source
+ ranges are specified, the firewall will apply only to traffic
+ that has source IP address in these ranges. These ranges must
+ be expressed in CIDR format. One or both of sourceRanges and
+ sourceTags may be set. If both properties are set, the firewall
+ will apply to traffic that has source IP address within sourceRanges
+ OR the source IP that belongs to a tag listed in the sourceTags
+ property. The connection does not need to match both properties
+ for the firewall to apply. IPv4 or IPv6 ranges are supported.
+ For INGRESS traffic, one of 'source_ranges', 'source_tags' or
+ 'source_service_accounts' is required.
+ items:
+ type: string
+ type: array
+ sourceServiceAccounts:
+ description: If source service accounts are specified, the firewall
+ will apply only to traffic originating from an instance with
+ a service account in this list. Source service accounts cannot
+ be used to control traffic to an instance's external IP address
+ because service accounts are associated with an instance, not
+ an IP address. sourceRanges can be set at the same time as sourceServiceAccounts.
+ If both are set, the firewall will apply to traffic that has
+ source IP address within sourceRanges OR the source IP belongs
+ to an instance with service account listed in sourceServiceAccount.
+ The connection does not need to match both properties for the
+ firewall to apply. sourceServiceAccounts cannot be used at the
+ same time as sourceTags or targetTags. For INGRESS traffic,
+ one of source_ranges, source_tags or source_service_accounts
+ is required. If source service accounts are specified, the firewall
+ will apply only to traffic originating from an instance with
+ a service account in this list. Source service accounts cannot
+ be used to control traffic to an instance's external IP address
+ because service accounts are associated with an instance, not
+ an IP address. sourceRanges can be set at the same time as sourceServiceAccounts.
+ If both are set, the firewall will apply to traffic that has
+ source IP address within sourceRanges OR the source IP belongs
+ to an instance with service account listed in sourceServiceAccount.
+ The connection does not need to match both properties for the
+ firewall to apply. sourceServiceAccounts cannot be used at the
+ same time as sourceTags or targetTags. For INGRESS traffic,
+ one of 'source_ranges', 'source_tags' or 'source_service_accounts'
+ is required.
+ items:
+ type: string
+ type: array
+ sourceTags:
+ description: If source tags are specified, the firewall will apply
+ only to traffic with source IP that belongs to a tag listed
+ in source tags. Source tags cannot be used to control traffic
+ to an instance's external IP address. Because tags are associated
+ with an instance, not an IP address. One or both of sourceRanges
+ and sourceTags may be set. If both properties are set, the firewall
+ will apply to traffic that has source IP address within sourceRanges
+ OR the source IP that belongs to a tag listed in the sourceTags
+ property. The connection does not need to match both properties
+ for the firewall to apply. For INGRESS traffic, one of source_ranges,
+ source_tags or source_service_accounts is required. If source
+ tags are specified, the firewall will apply only to traffic
+ with source IP that belongs to a tag listed in source tags.
+ Source tags cannot be used to control traffic to an instance's
+ external IP address. Because tags are associated with an instance,
+ not an IP address. One or both of sourceRanges and sourceTags
+ may be set. If both properties are set, the firewall will apply
+ to traffic that has source IP address within sourceRanges OR
+ the source IP that belongs to a tag listed in the sourceTags
+ property. The connection does not need to match both properties
+ for the firewall to apply. For INGRESS traffic, one of 'source_ranges',
+ 'source_tags' or 'source_service_accounts' is required.
+ items:
+ type: string
+ type: array
+ targetServiceAccounts:
+ description: A list of service accounts indicating sets of instances
+ located in the network that may make network connections as
+ specified in allowed[]. targetServiceAccounts cannot be used
+ at the same time as targetTags or sourceTags. If neither targetServiceAccounts
+ nor targetTags are specified, the firewall rule applies to all
+ instances on the specified network. A list of service accounts
+ indicating sets of instances located in the network that may
+ make network connections as specified in allowed[]. targetServiceAccounts
+ cannot be used at the same time as targetTags or sourceTags.
+ If neither targetServiceAccounts nor targetTags are specified,
+ the firewall rule applies to all instances on the specified
+ network.
+ items:
+ type: string
+ type: array
+ targetTags:
+ description: A list of instance tags indicating sets of instances
+ located in the network that may make network connections as
+ specified in allowed[]. If no targetTags are specified, the
+ firewall rule applies to all instances on the specified network.
+ A list of instance tags indicating sets of instances located
+ in the network that may make network connections as specified
+ in allowed[]. If no targetTags are specified, the firewall rule
+ applies to all instances on the specified network.
+ items:
+ type: string
+ type: array
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ status:
+ description: FirewallStatus defines the observed state of Firewall.
+ properties:
+ atProvider:
+ properties:
+ allow:
+ description: The list of ALLOW rules specified by this firewall.
+ Each rule specifies a protocol and port-range tuple that describes
+ a permitted connection. Structure is documented below. The list
+ of ALLOW rules specified by this firewall. Each rule specifies
+ a protocol and port-range tuple that describes a permitted connection.
+ items:
+ properties:
+ ports:
+ description: "An optional list of ports to which this rule
+ applies. This field is only applicable for UDP or TCP
+ protocol. Each entry must be either an integer or a range.
+ If not specified, this rule applies to connections through
+ any port. Example inputs include: [\"22\"], [\"80\",\"443\"],
+ and [\"12345-12349\"]. An optional list of ports to which
+ this rule applies. This field is only applicable for UDP
+ or TCP protocol. Each entry must be either an integer
+ or a range. If not specified, this rule applies to connections
+ through any port. \n Example inputs include: [\"22\"],
+ [\"80\",\"443\"], and [\"12345-12349\"]."
+ items:
+ type: string
+ type: array
+ protocol:
+ description: The IP protocol to which this rule applies.
+ The protocol type is required when creating a firewall
+ rule. This value can either be one of the following well
+ known protocol strings (tcp, udp, icmp, esp, ah, sctp,
+ ipip, all), or the IP protocol number. The IP protocol
+ to which this rule applies. The protocol type is required
+ when creating a firewall rule. This value can either be
+ one of the following well known protocol strings (tcp,
+ udp, icmp, esp, ah, sctp, ipip, all), or the IP protocol
+ number.
+ type: string
+ type: object
+ type: array
+ creationTimestamp:
+ description: Creation timestamp in RFC3339 text format. Creation
+ timestamp in RFC3339 text format.
+ type: string
+ deny:
+ description: The list of DENY rules specified by this firewall.
+ Each rule specifies a protocol and port-range tuple that describes
+ a denied connection. Structure is documented below. The list
+ of DENY rules specified by this firewall. Each rule specifies
+ a protocol and port-range tuple that describes a denied connection.
+ items:
+ properties:
+ ports:
+ description: "An optional list of ports to which this rule
+ applies. This field is only applicable for UDP or TCP
+ protocol. Each entry must be either an integer or a range.
+ If not specified, this rule applies to connections through
+ any port. Example inputs include: [\"22\"], [\"80\",\"443\"],
+ and [\"12345-12349\"]. An optional list of ports to which
+ this rule applies. This field is only applicable for UDP
+ or TCP protocol. Each entry must be either an integer
+ or a range. If not specified, this rule applies to connections
+ through any port. \n Example inputs include: [\"22\"],
+ [\"80\",\"443\"], and [\"12345-12349\"]."
+ items:
+ type: string
+ type: array
+ protocol:
+ description: The IP protocol to which this rule applies.
+ The protocol type is required when creating a firewall
+ rule. This value can either be one of the following well
+ known protocol strings (tcp, udp, icmp, esp, ah, sctp,
+ ipip, all), or the IP protocol number. The IP protocol
+ to which this rule applies. The protocol type is required
+ when creating a firewall rule. This value can either be
+ one of the following well known protocol strings (tcp,
+ udp, icmp, esp, ah, sctp, ipip, all), or the IP protocol
+ number.
+ type: string
+ type: object
+ type: array
+ description:
+ description: An optional description of this resource. Provide
+ this property when you create the resource. An optional description
+ of this resource. Provide this property when you create the
+ resource.
+ type: string
+ destinationRanges:
+ description: If destination ranges are specified, the firewall
+ will apply only to traffic that has destination IP address in
+ these ranges. These ranges must be expressed in CIDR format.
+ IPv4 or IPv6 ranges are supported. If destination ranges are
+ specified, the firewall will apply only to traffic that has
+ destination IP address in these ranges. These ranges must be
+ expressed in CIDR format. IPv4 or IPv6 ranges are supported.
+ items:
+ type: string
+ type: array
+ direction:
+ description: 'Direction of traffic to which this firewall applies;
+ default is INGRESS. Note: For INGRESS traffic, one of source_ranges,
+ source_tags or source_service_accounts is required. Possible
+ values are: INGRESS, EGRESS. Direction of traffic to which this
+ firewall applies; default is INGRESS. Note: For INGRESS traffic,
+ one of ''source_ranges'', ''source_tags'' or ''source_service_accounts''
+ is required. Possible values: ["INGRESS", "EGRESS"]'
+ type: string
+ disabled:
+ description: Denotes whether the firewall rule is disabled, i.e
+ not applied to the network it is associated with. When set to
+ true, the firewall rule is not enforced and the network behaves
+ as if it did not exist. If this is unspecified, the firewall
+ rule will be enabled. Denotes whether the firewall rule is disabled,
+ i.e not applied to the network it is associated with. When set
+ to true, the firewall rule is not enforced and the network behaves
+ as if it did not exist. If this is unspecified, the firewall
+ rule will be enabled.
+ type: boolean
+ enableLogging:
+ description: This field denotes whether to enable logging for
+ a particular firewall rule. If logging is enabled, logs will
+ be exported to Stackdriver. Deprecated in favor of log_config
+ This field denotes whether to enable logging for a particular
+ firewall rule. If logging is enabled, logs will be exported
+ to Stackdriver.
+ type: boolean
+ id:
+ description: an identifier for the resource with format projects/{{project}}/global/firewalls/{{name}}
+ type: string
+ logConfig:
+ description: This field denotes the logging options for a particular
+ firewall rule. If defined, logging is enabled, and logs will
+ be exported to Cloud Logging. Structure is documented below.
+ This field denotes the logging options for a particular firewall
+ rule. If defined, logging is enabled, and logs will be exported
+ to Cloud Logging.
+ items:
+ properties:
+ metadata:
+ description: 'This field denotes whether to include or exclude
+ metadata for firewall logs. Possible values are: EXCLUDE_ALL_METADATA,
+ INCLUDE_ALL_METADATA. This field denotes whether to include
+ or exclude metadata for firewall logs. Possible values:
+ ["EXCLUDE_ALL_METADATA", "INCLUDE_ALL_METADATA"]'
+ type: string
+ type: object
+ type: array
+ network:
+ description: The name or self_link of the network to attach this
+ firewall to. The name or self_link of the network to attach
+ this firewall to.
+ type: string
+ priority:
+ description: Priority for this rule. This is an integer between
+ 0 and 65535, both inclusive. When not specified, the value assumed
+ is 1000. Relative priorities determine precedence of conflicting
+ rules. Lower value of priority implies higher precedence (eg,
+ a rule with priority 0 has higher precedence than a rule with
+ priority 1). DENY rules take precedence over ALLOW rules having
+ equal priority. Priority for this rule. This is an integer between
+ 0 and 65535, both inclusive. When not specified, the value assumed
+ is 1000. Relative priorities determine precedence of conflicting
+ rules. Lower value of priority implies higher precedence (eg,
+ a rule with priority 0 has higher precedence than a rule with
+ priority 1). DENY rules take precedence over ALLOW rules having
+ equal priority.
+ type: number
+ project:
+ description: The ID of the project in which the resource belongs.
+ If it is not provided, the provider project is used.
+ type: string
+ selfLink:
+ description: The URI of the created resource.
+ type: string
+ sourceRanges:
+ description: If source ranges are specified, the firewall will
+ apply only to traffic that has source IP address in these ranges.
+ These ranges must be expressed in CIDR format. One or both of
+ sourceRanges and sourceTags may be set. If both properties are
+ set, the firewall will apply to traffic that has source IP address
+ within sourceRanges OR the source IP that belongs to a tag listed
+ in the sourceTags property. The connection does not need to
+ match both properties for the firewall to apply. IPv4 or IPv6
+ ranges are supported. For INGRESS traffic, one of source_ranges,
+ source_tags or source_service_accounts is required. If source
+ ranges are specified, the firewall will apply only to traffic
+ that has source IP address in these ranges. These ranges must
+ be expressed in CIDR format. One or both of sourceRanges and
+ sourceTags may be set. If both properties are set, the firewall
+ will apply to traffic that has source IP address within sourceRanges
+ OR the source IP that belongs to a tag listed in the sourceTags
+ property. The connection does not need to match both properties
+ for the firewall to apply. IPv4 or IPv6 ranges are supported.
+ For INGRESS traffic, one of 'source_ranges', 'source_tags' or
+ 'source_service_accounts' is required.
+ items:
+ type: string
+ type: array
+ sourceServiceAccounts:
+ description: If source service accounts are specified, the firewall
+ will apply only to traffic originating from an instance with
+ a service account in this list. Source service accounts cannot
+ be used to control traffic to an instance's external IP address
+ because service accounts are associated with an instance, not
+ an IP address. sourceRanges can be set at the same time as sourceServiceAccounts.
+ If both are set, the firewall will apply to traffic that has
+ source IP address within sourceRanges OR the source IP belongs
+ to an instance with service account listed in sourceServiceAccount.
+ The connection does not need to match both properties for the
+ firewall to apply. sourceServiceAccounts cannot be used at the
+ same time as sourceTags or targetTags. For INGRESS traffic,
+ one of source_ranges, source_tags or source_service_accounts
+ is required. If source service accounts are specified, the firewall
+ will apply only to traffic originating from an instance with
+ a service account in this list. Source service accounts cannot
+ be used to control traffic to an instance's external IP address
+ because service accounts are associated with an instance, not
+ an IP address. sourceRanges can be set at the same time as sourceServiceAccounts.
+ If both are set, the firewall will apply to traffic that has
+ source IP address within sourceRanges OR the source IP belongs
+ to an instance with service account listed in sourceServiceAccount.
+ The connection does not need to match both properties for the
+ firewall to apply. sourceServiceAccounts cannot be used at the
+ same time as sourceTags or targetTags. For INGRESS traffic,
+ one of 'source_ranges', 'source_tags' or 'source_service_accounts'
+ is required.
+ items:
+ type: string
+ type: array
+ sourceTags:
+ description: If source tags are specified, the firewall will apply
+ only to traffic with source IP that belongs to a tag listed
+ in source tags. Source tags cannot be used to control traffic
+ to an instance's external IP address. Because tags are associated
+ with an instance, not an IP address. One or both of sourceRanges
+ and sourceTags may be set. If both properties are set, the firewall
+ will apply to traffic that has source IP address within sourceRanges
+ OR the source IP that belongs to a tag listed in the sourceTags
+ property. The connection does not need to match both properties
+ for the firewall to apply. For INGRESS traffic, one of source_ranges,
+ source_tags or source_service_accounts is required. If source
+ tags are specified, the firewall will apply only to traffic
+ with source IP that belongs to a tag listed in source tags.
+ Source tags cannot be used to control traffic to an instance's
+ external IP address. Because tags are associated with an instance,
+ not an IP address. One or both of sourceRanges and sourceTags
+ may be set. If both properties are set, the firewall will apply
+ to traffic that has source IP address within sourceRanges OR
+ the source IP that belongs to a tag listed in the sourceTags
+ property. The connection does not need to match both properties
+ for the firewall to apply. For INGRESS traffic, one of 'source_ranges',
+ 'source_tags' or 'source_service_accounts' is required.
+ items:
+ type: string
+ type: array
+ targetServiceAccounts:
+ description: A list of service accounts indicating sets of instances
+ located in the network that may make network connections as
+ specified in allowed[]. targetServiceAccounts cannot be used
+ at the same time as targetTags or sourceTags. If neither targetServiceAccounts
+ nor targetTags are specified, the firewall rule applies to all
+ instances on the specified network. A list of service accounts
+ indicating sets of instances located in the network that may
+ make network connections as specified in allowed[]. targetServiceAccounts
+ cannot be used at the same time as targetTags or sourceTags.
+ If neither targetServiceAccounts nor targetTags are specified,
+ the firewall rule applies to all instances on the specified
+ network.
+ items:
+ type: string
+ type: array
+ targetTags:
+ description: A list of instance tags indicating sets of instances
+ located in the network that may make network connections as
+ specified in allowed[]. If no targetTags are specified, the
+ firewall rule applies to all instances on the specified network.
+ A list of instance tags indicating sets of instances located
+ in the network that may make network connections as specified
+ in allowed[]. If no targetTags are specified, the firewall rule
+ applies to all instances on the specified network.
+ items:
+ type: string
+ type: array
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-gcp/crds/compute.gcp.kubedb.com_networkpeerings.yaml b/charts/kubedb-provider-gcp/crds/compute.gcp.kubedb.com_networkpeerings.yaml
new file mode 100644
index 000000000..6fe6a8a05
--- /dev/null
+++ b/charts/kubedb-provider-gcp/crds/compute.gcp.kubedb.com_networkpeerings.yaml
@@ -0,0 +1,402 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: networkpeerings.compute.gcp.kubedb.com
+spec:
+ group: compute.gcp.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - gcp
+ kind: NetworkPeering
+ listKind: NetworkPeeringList
+ plural: networkpeerings
+ singular: networkpeering
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: NetworkPeering is the Schema for the NetworkPeerings API. Manages
+ a network peering within GCE.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: NetworkPeeringSpec defines the desired state of NetworkPeering
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ exportCustomRoutes:
+ description: Whether to export the custom routes to the peer network.
+ Defaults to false. Whether to export the custom routes to the
+ peer network. Defaults to false.
+ type: boolean
+ exportSubnetRoutesWithPublicIp:
+ description: Whether subnet routes with public IP range are exported.
+ The default value is true, all subnet routes are exported. The
+ IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses)
+ are always exported to peers and are not controlled by this
+ field.
+ type: boolean
+ importCustomRoutes:
+ description: Whether to import the custom routes from the peer
+ network. Defaults to false. Whether to export the custom routes
+ from the peer network. Defaults to false.
+ type: boolean
+ importSubnetRoutesWithPublicIp:
+ description: Whether subnet routes with public IP range are imported.
+ The default value is false. The IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses)
+ are always imported from peers and are not controlled by this
+ field.
+ type: boolean
+ network:
+ description: The primary network of the peering. The primary network
+ of the peering.
+ type: string
+ peerNetwork:
+ description: The peer network in the peering. The peer network
+ may belong to a different project. The peer network in the peering.
+ The peer network may belong to a different project.
+ type: string
+ stackType:
+ description: 'Which IP version(s) of traffic and routes are allowed
+ to be imported or exported between peer networks. The default
+ value is IPV4_ONLY. Possible values: ["IPV4_ONLY", "IPV4_IPV6"].
+ Which IP version(s) of traffic and routes are allowed to be
+ imported or exported between peer networks. The default value
+ is IPV4_ONLY. Possible values: ["IPV4_ONLY", "IPV4_IPV6"]'
+ type: string
+ required:
+ - network
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: peerNetwork is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.peerNetwork)
+ status:
+ description: NetworkPeeringStatus defines the observed state of NetworkPeering.
+ properties:
+ atProvider:
+ properties:
+ exportCustomRoutes:
+ description: Whether to export the custom routes to the peer network.
+ Defaults to false. Whether to export the custom routes to the
+ peer network. Defaults to false.
+ type: boolean
+ exportSubnetRoutesWithPublicIp:
+ description: Whether subnet routes with public IP range are exported.
+ The default value is true, all subnet routes are exported. The
+ IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses)
+ are always exported to peers and are not controlled by this
+ field.
+ type: boolean
+ id:
+ description: an identifier for the resource with format {{network}}/{{name}}
+ type: string
+ importCustomRoutes:
+ description: Whether to import the custom routes from the peer
+ network. Defaults to false. Whether to export the custom routes
+ from the peer network. Defaults to false.
+ type: boolean
+ importSubnetRoutesWithPublicIp:
+ description: Whether subnet routes with public IP range are imported.
+ The default value is false. The IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses)
+ are always imported from peers and are not controlled by this
+ field.
+ type: boolean
+ network:
+ description: The primary network of the peering. The primary network
+ of the peering.
+ type: string
+ peerNetwork:
+ description: The peer network in the peering. The peer network
+ may belong to a different project. The peer network in the peering.
+ The peer network may belong to a different project.
+ type: string
+ stackType:
+ description: 'Which IP version(s) of traffic and routes are allowed
+ to be imported or exported between peer networks. The default
+ value is IPV4_ONLY. Possible values: ["IPV4_ONLY", "IPV4_IPV6"].
+ Which IP version(s) of traffic and routes are allowed to be
+ imported or exported between peer networks. The default value
+ is IPV4_ONLY. Possible values: ["IPV4_ONLY", "IPV4_IPV6"]'
+ type: string
+ state:
+ description: State for the peering, either ACTIVE or INACTIVE.
+ The peering is ACTIVE when there's a matching configuration
+ in the peer network. State for the peering, either ACTIVE or
+ INACTIVE. The peering is ACTIVE when there's a matching configuration
+ in the peer network.
+ type: string
+ stateDetails:
+ description: Details about the current state of the peering. Details
+ about the current state of the peering.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-gcp/crds/compute.gcp.kubedb.com_networks.yaml b/charts/kubedb-provider-gcp/crds/compute.gcp.kubedb.com_networks.yaml
new file mode 100644
index 000000000..e0669011a
--- /dev/null
+++ b/charts/kubedb-provider-gcp/crds/compute.gcp.kubedb.com_networks.yaml
@@ -0,0 +1,491 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: networks.compute.gcp.kubedb.com
+spec:
+ group: compute.gcp.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - gcp
+ kind: Network
+ listKind: NetworkList
+ plural: networks
+ singular: network
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Network is the Schema for the Networks API. Manages a VPC network
+ or legacy network resource on GCP.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: NetworkSpec defines the desired state of Network
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ autoCreateSubnetworks:
+ description: "When set to true, the network is created in \"auto
+ subnet mode\" and it will create a subnet for each region automatically
+ across the 10.128.0.0/9 address range. When set to false, the
+ network is created in \"custom subnet mode\" so the user can
+ explicitly connect subnetwork resources. When set to 'true',
+ the network is created in \"auto subnet mode\" and it will create
+ a subnet for each region automatically across the '10.128.0.0/9'
+ address range. \n When set to 'false', the network is created
+ in \"custom subnet mode\" so the user can explicitly connect
+ subnetwork resources."
+ type: boolean
+ deleteDefaultRoutesOnCreate:
+ description: If set to true, default routes (0.0.0.0/0) will be
+ deleted immediately after network creation. Defaults to false.
+ If set to 'true', default routes ('0.0.0.0/0') will be deleted
+ immediately after network creation. Defaults to 'false'.
+ type: boolean
+ description:
+ description: An optional description of this resource. The resource
+ must be recreated to modify this field. An optional description
+ of this resource. The resource must be recreated to modify this
+ field.
+ type: string
+ enableUlaInternalIpv6:
+ description: Enable ULA internal ipv6 on this network. Enabling
+ this feature will assign a /48 from google defined ULA prefix
+ fd20::/20. Enable ULA internal ipv6 on this network. Enabling
+ this feature will assign a /48 from google defined ULA prefix
+ fd20::/20.
+ type: boolean
+ internalIpv6Range:
+ description: When enabling ula internal ipv6, caller optionally
+ can specify the /48 range they want from the google defined
+ ULA prefix fd20::/20. The input must be a valid /48 ULA IPv6
+ address and must be within the fd20::/20. Operation will fail
+ if the speficied /48 is already in used by another resource.
+ If the field is not speficied, then a /48 range will be randomly
+ allocated from fd20::/20 and returned via this field. When enabling
+ ula internal ipv6, caller optionally can specify the /48 range
+ they want from the google defined ULA prefix fd20::/20. The
+ input must be a valid /48 ULA IPv6 address and must be within
+ the fd20::/20. Operation will fail if the speficied /48 is already
+ in used by another resource. If the field is not speficied,
+ then a /48 range will be randomly allocated from fd20::/20 and
+ returned via this field.
+ type: string
+ mtu:
+ description: Maximum Transmission Unit in bytes. The default value
+ is 1460 bytes. The minimum value for this field is 1300 and
+ the maximum value is 8896 bytes (jumbo frames). Note that packets
+ larger than 1500 bytes (standard Ethernet) can be subject to
+ TCP-MSS clamping or dropped with an ICMP Fragmentation-Needed
+ message if the packets are routed to the Internet or other VPCs
+ with varying MTUs. Maximum Transmission Unit in bytes. The default
+ value is 1460 bytes. The minimum value for this field is 1300
+ and the maximum value is 8896 bytes (jumbo frames). Note that
+ packets larger than 1500 bytes (standard Ethernet) can be subject
+ to TCP-MSS clamping or dropped with an ICMP 'Fragmentation-Needed'
+ message if the packets are routed to the Internet or other VPCs
+ with varying MTUs.
+ type: number
+ networkFirewallPolicyEnforcementOrder:
+ description: 'Set the order that Firewall Rules and Firewall Policies
+ are evaluated. Default value is AFTER_CLASSIC_FIREWALL. Possible
+ values are: BEFORE_CLASSIC_FIREWALL, AFTER_CLASSIC_FIREWALL.
+ Set the order that Firewall Rules and Firewall Policies are
+ evaluated. Default value: "AFTER_CLASSIC_FIREWALL" Possible
+ values: ["BEFORE_CLASSIC_FIREWALL", "AFTER_CLASSIC_FIREWALL"]'
+ type: string
+ project:
+ description: The ID of the project in which the resource belongs.
+ If it is not provided, the provider project is used.
+ type: string
+ routingMode:
+ description: 'The network-wide routing mode to use. If set to
+ REGIONAL, this network''s cloud routers will only advertise
+ routes with subnetworks of this network in the same region as
+ the router. If set to GLOBAL, this network''s cloud routers
+ will advertise routes with all subnetworks of this network,
+ across regions. Possible values are: REGIONAL, GLOBAL. The network-wide
+ routing mode to use. If set to ''REGIONAL'', this network''s
+ cloud routers will only advertise routes with subnetworks of
+ this network in the same region as the router. If set to ''GLOBAL'',
+ this network''s cloud routers will advertise routes with all
+ subnetworks of this network, across regions. Possible values:
+ ["REGIONAL", "GLOBAL"]'
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ status:
+ description: NetworkStatus defines the observed state of Network.
+ properties:
+ atProvider:
+ properties:
+ autoCreateSubnetworks:
+ description: "When set to true, the network is created in \"auto
+ subnet mode\" and it will create a subnet for each region automatically
+ across the 10.128.0.0/9 address range. When set to false, the
+ network is created in \"custom subnet mode\" so the user can
+ explicitly connect subnetwork resources. When set to 'true',
+ the network is created in \"auto subnet mode\" and it will create
+ a subnet for each region automatically across the '10.128.0.0/9'
+ address range. \n When set to 'false', the network is created
+ in \"custom subnet mode\" so the user can explicitly connect
+ subnetwork resources."
+ type: boolean
+ deleteDefaultRoutesOnCreate:
+ description: If set to true, default routes (0.0.0.0/0) will be
+ deleted immediately after network creation. Defaults to false.
+ If set to 'true', default routes ('0.0.0.0/0') will be deleted
+ immediately after network creation. Defaults to 'false'.
+ type: boolean
+ description:
+ description: An optional description of this resource. The resource
+ must be recreated to modify this field. An optional description
+ of this resource. The resource must be recreated to modify this
+ field.
+ type: string
+ enableUlaInternalIpv6:
+ description: Enable ULA internal ipv6 on this network. Enabling
+ this feature will assign a /48 from google defined ULA prefix
+ fd20::/20. Enable ULA internal ipv6 on this network. Enabling
+ this feature will assign a /48 from google defined ULA prefix
+ fd20::/20.
+ type: boolean
+ gatewayIpv4:
+ description: The gateway address for default routing out of the
+ network. This value is selected by GCP. The gateway address
+ for default routing out of the network. This value is selected
+ by GCP.
+ type: string
+ id:
+ description: an identifier for the resource with format projects/{{project}}/global/networks/{{name}}
+ type: string
+ internalIpv6Range:
+ description: When enabling ula internal ipv6, caller optionally
+ can specify the /48 range they want from the google defined
+ ULA prefix fd20::/20. The input must be a valid /48 ULA IPv6
+ address and must be within the fd20::/20. Operation will fail
+ if the speficied /48 is already in used by another resource.
+ If the field is not speficied, then a /48 range will be randomly
+ allocated from fd20::/20 and returned via this field. When enabling
+ ula internal ipv6, caller optionally can specify the /48 range
+ they want from the google defined ULA prefix fd20::/20. The
+ input must be a valid /48 ULA IPv6 address and must be within
+ the fd20::/20. Operation will fail if the speficied /48 is already
+ in used by another resource. If the field is not speficied,
+ then a /48 range will be randomly allocated from fd20::/20 and
+ returned via this field.
+ type: string
+ mtu:
+ description: Maximum Transmission Unit in bytes. The default value
+ is 1460 bytes. The minimum value for this field is 1300 and
+ the maximum value is 8896 bytes (jumbo frames). Note that packets
+ larger than 1500 bytes (standard Ethernet) can be subject to
+ TCP-MSS clamping or dropped with an ICMP Fragmentation-Needed
+ message if the packets are routed to the Internet or other VPCs
+ with varying MTUs. Maximum Transmission Unit in bytes. The default
+ value is 1460 bytes. The minimum value for this field is 1300
+ and the maximum value is 8896 bytes (jumbo frames). Note that
+ packets larger than 1500 bytes (standard Ethernet) can be subject
+ to TCP-MSS clamping or dropped with an ICMP 'Fragmentation-Needed'
+ message if the packets are routed to the Internet or other VPCs
+ with varying MTUs.
+ type: number
+ networkFirewallPolicyEnforcementOrder:
+ description: 'Set the order that Firewall Rules and Firewall Policies
+ are evaluated. Default value is AFTER_CLASSIC_FIREWALL. Possible
+ values are: BEFORE_CLASSIC_FIREWALL, AFTER_CLASSIC_FIREWALL.
+ Set the order that Firewall Rules and Firewall Policies are
+ evaluated. Default value: "AFTER_CLASSIC_FIREWALL" Possible
+ values: ["BEFORE_CLASSIC_FIREWALL", "AFTER_CLASSIC_FIREWALL"]'
+ type: string
+ project:
+ description: The ID of the project in which the resource belongs.
+ If it is not provided, the provider project is used.
+ type: string
+ routingMode:
+ description: 'The network-wide routing mode to use. If set to
+ REGIONAL, this network''s cloud routers will only advertise
+ routes with subnetworks of this network in the same region as
+ the router. If set to GLOBAL, this network''s cloud routers
+ will advertise routes with all subnetworks of this network,
+ across regions. Possible values are: REGIONAL, GLOBAL. The network-wide
+ routing mode to use. If set to ''REGIONAL'', this network''s
+ cloud routers will only advertise routes with subnetworks of
+ this network in the same region as the router. If set to ''GLOBAL'',
+ this network''s cloud routers will advertise routes with all
+ subnetworks of this network, across regions. Possible values:
+ ["REGIONAL", "GLOBAL"]'
+ type: string
+ selfLink:
+ description: The URI of the created resource.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-gcp/crds/gcp.kubedb.com_providerconfigs.yaml b/charts/kubedb-provider-gcp/crds/gcp.kubedb.com_providerconfigs.yaml
new file mode 100644
index 000000000..ac5356bbc
--- /dev/null
+++ b/charts/kubedb-provider-gcp/crds/gcp.kubedb.com_providerconfigs.yaml
@@ -0,0 +1,157 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: providerconfigs.gcp.kubedb.com
+spec:
+ group: gcp.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - provider
+ - gcp
+ kind: ProviderConfig
+ listKind: ProviderConfigList
+ plural: providerconfigs
+ singular: providerconfig
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ - jsonPath: .spec.credentials.secretRef.name
+ name: SECRET-NAME
+ priority: 1
+ type: string
+ name: v1beta1
+ schema:
+ openAPIV3Schema:
+ description: A ProviderConfig configures a GCP provider.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: A ProviderConfigSpec defines the desired state of a ProviderConfig.
+ properties:
+ credentials:
+ description: Credentials required to authenticate to this provider.
+ properties:
+ env:
+ description: Env is a reference to an environment variable that
+ contains credentials that must be used to connect to the provider.
+ properties:
+ name:
+ description: Name is the name of an environment variable.
+ type: string
+ required:
+ - name
+ type: object
+ fs:
+ description: Fs is a reference to a filesystem location that contains
+ credentials that must be used to connect to the provider.
+ properties:
+ path:
+ description: Path is a filesystem path.
+ type: string
+ required:
+ - path
+ type: object
+ secretRef:
+ description: A SecretRef is a reference to a secret key that contains
+ the credentials that must be used to connect to the provider.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ source:
+ description: Source of the provider credentials.
+ enum:
+ - None
+ - Secret
+ - InjectedIdentity
+ - Environment
+ - Filesystem
+ type: string
+ required:
+ - source
+ type: object
+ projectID:
+ description: ProjectID is the project name (not numerical ID) of this
+ GCP ProviderConfig.
+ type: string
+ required:
+ - credentials
+ - projectID
+ type: object
+ status:
+ description: A ProviderConfigStatus reflects the observed state of a ProviderConfig.
+ properties:
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ users:
+ description: Users of this provider configuration.
+ format: int64
+ type: integer
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-gcp/crds/gcp.kubedb.com_providerconfigusages.yaml b/charts/kubedb-provider-gcp/crds/gcp.kubedb.com_providerconfigusages.yaml
new file mode 100644
index 000000000..60a07ca60
--- /dev/null
+++ b/charts/kubedb-provider-gcp/crds/gcp.kubedb.com_providerconfigusages.yaml
@@ -0,0 +1,110 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: providerconfigusages.gcp.kubedb.com
+spec:
+ group: gcp.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - provider
+ - gcp
+ kind: ProviderConfigUsage
+ listKind: ProviderConfigUsageList
+ plural: providerconfigusages
+ singular: providerconfigusage
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ - jsonPath: .providerConfigRef.name
+ name: CONFIG-NAME
+ type: string
+ - jsonPath: .resourceRef.kind
+ name: RESOURCE-KIND
+ type: string
+ - jsonPath: .resourceRef.name
+ name: RESOURCE-NAME
+ type: string
+ name: v1beta1
+ schema:
+ openAPIV3Schema:
+ description: A ProviderConfigUsage indicates that a resource is using a ProviderConfig.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ providerConfigRef:
+ description: ProviderConfigReference to the provider config being used.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this reference
+ is required. The default is 'Required', which means the reconcile
+ will fail if the reference cannot be resolved. 'Optional' means
+ this reference will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should be resolved.
+ The default is 'IfNotPresent', which will attempt to resolve
+ the reference only when the corresponding field is not present.
+ Use 'Always' to resolve the reference on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ resourceRef:
+ description: ResourceReference to the managed resource using the provider
+ config.
+ properties:
+ apiVersion:
+ description: APIVersion of the referenced object.
+ type: string
+ kind:
+ description: Kind of the referenced object.
+ type: string
+ name:
+ description: Name of the referenced object.
+ type: string
+ uid:
+ description: UID of the referenced object.
+ type: string
+ required:
+ - apiVersion
+ - kind
+ - name
+ type: object
+ required:
+ - providerConfigRef
+ - resourceRef
+ type: object
+ served: true
+ storage: true
+ subresources: {}
diff --git a/charts/kubedb-provider-gcp/crds/gcp.kubedb.com_storeconfigs.yaml b/charts/kubedb-provider-gcp/crds/gcp.kubedb.com_storeconfigs.yaml
new file mode 100644
index 000000000..312eca173
--- /dev/null
+++ b/charts/kubedb-provider-gcp/crds/gcp.kubedb.com_storeconfigs.yaml
@@ -0,0 +1,342 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: storeconfigs.gcp.kubedb.com
+spec:
+ group: gcp.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - store
+ - gcp
+ kind: StoreConfig
+ listKind: StoreConfigList
+ plural: storeconfigs
+ singular: storeconfig
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ - jsonPath: .spec.type
+ name: TYPE
+ type: string
+ - jsonPath: .spec.defaultScope
+ name: DEFAULT-SCOPE
+ type: string
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: A StoreConfig configures how GCP controller should store connection
+ details.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: A StoreConfigSpec defines the desired state of a ProviderConfig.
+ properties:
+ defaultScope:
+ description: DefaultScope used for scoping secrets for "cluster-scoped"
+ resources. If store type is "Kubernetes", this would mean the default
+ namespace to store connection secrets for cluster scoped resources.
+ In case of "Vault", this would be used as the default parent path.
+ Typically, should be set as Crossplane installation namespace.
+ type: string
+ kubernetes:
+ description: Kubernetes configures a Kubernetes secret store. If the
+ "type" is "Kubernetes" but no config provided, in cluster config
+ will be used.
+ properties:
+ auth:
+ description: Credentials used to connect to the Kubernetes API.
+ properties:
+ env:
+ description: Env is a reference to an environment variable
+ that contains credentials that must be used to connect to
+ the provider.
+ properties:
+ name:
+ description: Name is the name of an environment variable.
+ type: string
+ required:
+ - name
+ type: object
+ fs:
+ description: Fs is a reference to a filesystem location that
+ contains credentials that must be used to connect to the
+ provider.
+ properties:
+ path:
+ description: Path is a filesystem path.
+ type: string
+ required:
+ - path
+ type: object
+ secretRef:
+ description: A SecretRef is a reference to a secret key that
+ contains the credentials that must be used to connect to
+ the provider.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ source:
+ description: Source of the credentials.
+ enum:
+ - None
+ - Secret
+ - Environment
+ - Filesystem
+ type: string
+ required:
+ - source
+ type: object
+ required:
+ - auth
+ type: object
+ plugin:
+ description: Plugin configures External secret store as a plugin.
+ properties:
+ configRef:
+ description: ConfigRef contains store config reference info.
+ properties:
+ apiVersion:
+ description: APIVersion of the referenced config.
+ type: string
+ kind:
+ description: Kind of the referenced config.
+ type: string
+ name:
+ description: Name of the referenced config.
+ type: string
+ required:
+ - apiVersion
+ - kind
+ - name
+ type: object
+ endpoint:
+ description: Endpoint is the endpoint of the gRPC server.
+ type: string
+ type: object
+ type:
+ default: Kubernetes
+ description: Type configures which secret store to be used. Only the
+ configuration block for this store will be used and others will
+ be ignored if provided. Default is Kubernetes.
+ enum:
+ - Kubernetes
+ - Vault
+ - Plugin
+ type: string
+ vault:
+ description: 'Vault configures a Vault secret store. Deprecated: This
+ API is scheduled to be removed in a future release. Vault should
+ be used as a plugin going forward. See https://github.com/crossplane-contrib/ess-plugin-vault
+ for more information.'
+ properties:
+ auth:
+ description: Auth configures an authentication method for Vault.
+ properties:
+ method:
+ description: Method configures which auth method will be used.
+ type: string
+ token:
+ description: Token configures Token Auth for Vault.
+ properties:
+ env:
+ description: Env is a reference to an environment variable
+ that contains credentials that must be used to connect
+ to the provider.
+ properties:
+ name:
+ description: Name is the name of an environment variable.
+ type: string
+ required:
+ - name
+ type: object
+ fs:
+ description: Fs is a reference to a filesystem location
+ that contains credentials that must be used to connect
+ to the provider.
+ properties:
+ path:
+ description: Path is a filesystem path.
+ type: string
+ required:
+ - path
+ type: object
+ secretRef:
+ description: A SecretRef is a reference to a secret key
+ that contains the credentials that must be used to connect
+ to the provider.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ source:
+ description: Source of the credentials.
+ enum:
+ - None
+ - Secret
+ - Environment
+ - Filesystem
+ type: string
+ required:
+ - source
+ type: object
+ required:
+ - method
+ type: object
+ caBundle:
+ description: CABundle configures CA bundle for Vault Server.
+ properties:
+ env:
+ description: Env is a reference to an environment variable
+ that contains credentials that must be used to connect to
+ the provider.
+ properties:
+ name:
+ description: Name is the name of an environment variable.
+ type: string
+ required:
+ - name
+ type: object
+ fs:
+ description: Fs is a reference to a filesystem location that
+ contains credentials that must be used to connect to the
+ provider.
+ properties:
+ path:
+ description: Path is a filesystem path.
+ type: string
+ required:
+ - path
+ type: object
+ secretRef:
+ description: A SecretRef is a reference to a secret key that
+ contains the credentials that must be used to connect to
+ the provider.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ source:
+ description: Source of the credentials.
+ enum:
+ - None
+ - Secret
+ - Environment
+ - Filesystem
+ type: string
+ required:
+ - source
+ type: object
+ mountPath:
+ description: MountPath is the mount path of the KV secrets engine.
+ type: string
+ server:
+ description: Server is the url of the Vault server, e.g. "https://vault.acme.org"
+ type: string
+ version:
+ default: v2
+ description: Version of the KV Secrets engine of Vault. https://www.vaultproject.io/docs/secrets/kv
+ type: string
+ required:
+ - auth
+ - mountPath
+ - server
+ type: object
+ required:
+ - defaultScope
+ type: object
+ status:
+ description: A StoreConfigStatus represents the status of a StoreConfig.
+ properties:
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-gcp/crds/redis.gcp.kubedb.com_instances.yaml b/charts/kubedb-provider-gcp/crds/redis.gcp.kubedb.com_instances.yaml
new file mode 100644
index 000000000..912c92503
--- /dev/null
+++ b/charts/kubedb-provider-gcp/crds/redis.gcp.kubedb.com_instances.yaml
@@ -0,0 +1,1020 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: instances.redis.gcp.kubedb.com
+spec:
+ group: redis.gcp.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - gcp
+ kind: Instance
+ listKind: InstanceList
+ plural: instances
+ singular: instance
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Instance is the Schema for the Instances API. A Google Cloud
+ Redis instance.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: InstanceSpec defines the desired state of Instance
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ alternativeLocationId:
+ description: Only applicable to STANDARD_HA tier which protects
+ the instance against zonal failures by provisioning it across
+ two zones. If provided, it must be a different zone from the
+ one provided in [locationId]. Only applicable to STANDARD_HA
+ tier which protects the instance against zonal failures by provisioning
+ it across two zones. If provided, it must be a different zone
+ from the one provided in [locationId].
+ type: string
+ authEnabled:
+ description: Optional. Indicates whether OSS Redis AUTH is enabled
+ for the instance. If set to "true" AUTH is enabled on the instance.
+ Default value is "false" meaning AUTH is disabled. Optional.
+ Indicates whether OSS Redis AUTH is enabled for the instance.
+ If set to "true" AUTH is enabled on the instance. Default value
+ is "false" meaning AUTH is disabled.
+ type: boolean
+ authorizedNetwork:
+ description: The full name of the Google Compute Engine network
+ to which the instance is connected. If left unspecified, the
+ default network will be used. The full name of the Google Compute
+ Engine network to which the instance is connected. If left unspecified,
+ the default network will be used.
+ type: string
+ connectMode:
+ description: 'The connection mode of the Redis instance. Default
+ value is DIRECT_PEERING. Possible values are: DIRECT_PEERING,
+ PRIVATE_SERVICE_ACCESS. The connection mode of the Redis instance.
+ Default value: "DIRECT_PEERING" Possible values: ["DIRECT_PEERING",
+ "PRIVATE_SERVICE_ACCESS"]'
+ type: string
+ customerManagedKey:
+ description: Optional. The KMS key reference that you want to
+ use to encrypt the data at rest for this Redis instance. If
+ this is provided, CMEK is enabled. Optional. The KMS key reference
+ that you want to use to encrypt the data at rest for this Redis
+ instance. If this is provided, CMEK is enabled.
+ type: string
+ displayName:
+ description: An arbitrary and optional user-provided name for
+ the instance. An arbitrary and optional user-provided name for
+ the instance.
+ type: string
+ labels:
+ additionalProperties:
+ type: string
+ description: Resource labels to represent user provided metadata.
+ Resource labels to represent user provided metadata.
+ type: object
+ locationId:
+ description: The zone where the instance will be provisioned.
+ If not provided, the service will choose a zone for the instance.
+ For STANDARD_HA tier, instances will be created across two zones
+ for protection against zonal failures. If [alternativeLocationId]
+ is also provided, it must be different from [locationId]. The
+ zone where the instance will be provisioned. If not provided,
+ the service will choose a zone for the instance. For STANDARD_HA
+ tier, instances will be created across two zones for protection
+ against zonal failures. If [alternativeLocationId] is also provided,
+ it must be different from [locationId].
+ type: string
+ maintenancePolicy:
+ description: Maintenance policy for an instance. Structure is
+ documented below. Maintenance policy for an instance.
+ items:
+ properties:
+ description:
+ description: Optional. Description of what this policy is
+ for. Create/Update methods return INVALID_ARGUMENT if
+ the length is greater than 512. Optional. Description
+ of what this policy is for. Create/Update methods return
+ INVALID_ARGUMENT if the length is greater than 512.
+ type: string
+ weeklyMaintenanceWindow:
+ description: Optional. Maintenance window that is applied
+ to resources covered by this policy. Minimum 1. For the
+ current version, the maximum number of weekly_window is
+ expected to be one. Structure is documented below. Optional.
+ Maintenance window that is applied to resources covered
+ by this policy. Minimum 1. For the current version, the
+ maximum number of weekly_window is expected to be one.
+ items:
+ properties:
+ day:
+ description: "Required. The day of week that maintenance
+ updates occur. Required. The day of week that maintenance
+ updates occur. \n - DAY_OF_WEEK_UNSPECIFIED: The
+ day of the week is unspecified. - MONDAY: Monday
+ - TUESDAY: Tuesday - WEDNESDAY: Wednesday - THURSDAY:
+ Thursday - FRIDAY: Friday - SATURDAY: Saturday -
+ SUNDAY: Sunday Possible values: [\"DAY_OF_WEEK_UNSPECIFIED\",
+ \"MONDAY\", \"TUESDAY\", \"WEDNESDAY\", \"THURSDAY\",
+ \"FRIDAY\", \"SATURDAY\", \"SUNDAY\"]"
+ type: string
+ startTime:
+ description: Required. Start time of the window in
+ UTC time. Structure is documented below. Required.
+ Start time of the window in UTC time.
+ items:
+ properties:
+ hours:
+ description: Hours of day in 24 hour format.
+ Should be from 0 to 23. An API may choose
+ to allow the value "24:00:00" for scenarios
+ like business closing time. Hours of day in
+ 24 hour format. Should be from 0 to 23. An
+ API may choose to allow the value "24:00:00"
+ for scenarios like business closing time.
+ type: number
+ minutes:
+ description: Minutes of hour of day. Must be
+ from 0 to 59. Minutes of hour of day. Must
+ be from 0 to 59.
+ type: number
+ nanos:
+ description: Fractions of seconds in nanoseconds.
+ Must be from 0 to 999,999,999. Fractions of
+ seconds in nanoseconds. Must be from 0 to
+ 999,999,999.
+ type: number
+ seconds:
+ description: Seconds of minutes of the time.
+ Must normally be from 0 to 59. An API may
+ allow the value 60 if it allows leap-seconds.
+ Seconds of minutes of the time. Must normally
+ be from 0 to 59. An API may allow the value
+ 60 if it allows leap-seconds.
+ type: number
+ type: object
+ type: array
+ required:
+ - day
+ - startTime
+ type: object
+ type: array
+ type: object
+ type: array
+ maintenanceSchedule:
+ description: Upcoming maintenance schedule. Structure is documented
+ below. Upcoming maintenance schedule.
+ items:
+ type: object
+ type: array
+ memorySizeGb:
+ description: Redis memory size in GiB. Redis memory size in GiB.
+ type: number
+ persistenceConfig:
+ description: Persistence configuration for an instance. Structure
+ is documented below. Persistence configuration for an instance.
+ items:
+ properties:
+ persistenceMode:
+ description: "Optional. Controls whether Persistence features
+ are enabled. If not provided, the existing value will
+ be used. Optional. Controls whether Persistence features
+ are enabled. If not provided, the existing value will
+ be used. \n - DISABLED: \tPersistence is disabled for
+ the instance, and any existing snapshots are deleted.
+ - RDB: RDB based Persistence is enabled. Possible values:
+ [\"DISABLED\", \"RDB\"]"
+ type: string
+ rdbSnapshotPeriod:
+ description: "Optional. Available snapshot periods for scheduling.
+ Optional. Available snapshot periods for scheduling. \n
+ - ONE_HOUR:\tSnapshot every 1 hour. - SIX_HOURS:\tSnapshot
+ every 6 hours. - TWELVE_HOURS:\tSnapshot every 12 hours.
+ - TWENTY_FOUR_HOURS:\tSnapshot every 24 hours. Possible
+ values: [\"ONE_HOUR\", \"SIX_HOURS\", \"TWELVE_HOURS\",
+ \"TWENTY_FOUR_HOURS\"]"
+ type: string
+ rdbSnapshotStartTime:
+ description: 'Optional. Date and time that the first snapshot
+ was/will be attempted, and to which future snapshots will
+ be aligned. If not provided, the current time will be
+ used. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
+ resolution and up to nine fractional digits. Examples:
+ "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
+ Optional. Date and time that the first snapshot was/will
+ be attempted, and to which future snapshots will be aligned.
+ If not provided, the current time will be used. A timestamp
+ in RFC3339 UTC "Zulu" format, with nanosecond resolution
+ and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z"
+ and "2014-10-02T15:01:23.045123456Z".'
+ type: string
+ type: object
+ type: array
+ project:
+ description: The ID of the project in which the resource belongs.
+ If it is not provided, the provider project is used.
+ type: string
+ readReplicasMode:
+ description: 'Optional. Read replica mode. Can only be specified
+ when trying to create the instance. If not set, Memorystore
+ Redis backend will default to READ_REPLICAS_DISABLED. Optional.
+ Read replica mode. Can only be specified when trying to create
+ the instance. If not set, Memorystore Redis backend will default
+ to READ_REPLICAS_DISABLED. - READ_REPLICAS_DISABLED: If disabled,
+ read endpoint will not be provided and the instance cannot scale
+ up or down the number of replicas. - READ_REPLICAS_ENABLED:
+ If enabled, read endpoint will be provided and the instance
+ can scale up and down the number of replicas. Possible values:
+ ["READ_REPLICAS_DISABLED", "READ_REPLICAS_ENABLED"]'
+ type: string
+ redisConfigs:
+ additionalProperties:
+ type: string
+ description: 'Redis configuration parameters, according to http://redis.io/topics/config.
+ Please check Memorystore documentation for the list of supported
+ parameters: https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs
+ Redis configuration parameters, according to http://redis.io/topics/config.
+ Please check Memorystore documentation for the list of supported
+ parameters: https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs'
+ type: object
+ redisVersion:
+ description: The version of Redis software. If not provided, latest
+ supported version will be used. Please check the API documentation
+ linked at the top for the latest valid values. The version of
+ Redis software. If not provided, latest supported version will
+ be used. Please check the API documentation linked at the top
+ for the latest valid values.
+ type: string
+ region:
+ description: The name of the Redis region of the instance. The
+ name of the Redis region of the instance.
+ type: string
+ replicaCount:
+ description: Optional. The number of replica nodes. The valid
+ range for the Standard Tier with read replicas enabled is [1-5]
+ and defaults to 2. If read replicas are not enabled for a Standard
+ Tier instance, the only valid value is 1 and the default is
+ 1. The valid value for basic tier is 0 and the default is also
+ 0. Optional. The number of replica nodes. The valid range for
+ the Standard Tier with read replicas enabled is [1-5] and defaults
+ to 2. If read replicas are not enabled for a Standard Tier instance,
+ the only valid value is 1 and the default is 1. The valid value
+ for basic tier is 0 and the default is also 0.
+ type: number
+ reservedIpRange:
+ description: The CIDR range of internal addresses that are reserved
+ for this instance. If not provided, the service will choose
+ an unused /29 block, for example, 10.0.0.0/29 or 192.168.0.0/29.
+ Ranges must be unique and non-overlapping with existing subnets
+ in an authorized network. The CIDR range of internal addresses
+ that are reserved for this instance. If not provided, the service
+ will choose an unused /29 block, for example, 10.0.0.0/29 or
+ 192.168.0.0/29. Ranges must be unique and non-overlapping with
+ existing subnets in an authorized network.
+ type: string
+ secondaryIpRange:
+ description: Optional. Additional IP range for node placement.
+ Required when enabling read replicas on an existing instance.
+ For DIRECT_PEERING mode value must be a CIDR range of size /28,
+ or "auto". For PRIVATE_SERVICE_ACCESS mode value must be the
+ name of an allocated address range associated with the private
+ service access connection, or "auto". Optional. Additional IP
+ range for node placement. Required when enabling read replicas
+ on an existing instance. For DIRECT_PEERING mode value must
+ be a CIDR range of size /28, or "auto". For PRIVATE_SERVICE_ACCESS
+ mode value must be the name of an allocated address range associated
+ with the private service access connection, or "auto".
+ type: string
+ tier:
+ description: "The service tier of the instance. Must be one of
+ these values: The service tier of the instance. Must be one
+ of these values: \n - BASIC: standalone instance - STANDARD_HA:
+ highly available primary/replica instances Default value: \"BASIC\"
+ Possible values: [\"BASIC\", \"STANDARD_HA\"]"
+ type: string
+ transitEncryptionMode:
+ description: "The TLS mode of the Redis instance, If not provided,
+ TLS is disabled for the instance. The TLS mode of the Redis
+ instance, If not provided, TLS is disabled for the instance.
+ \n - SERVER_AUTHENTICATION: Client to Server traffic encryption
+ enabled with server authentication Default value: \"DISABLED\"
+ Possible values: [\"SERVER_AUTHENTICATION\", \"DISABLED\"]"
+ type: string
+ required:
+ - region
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: memorySizeGb is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.memorySizeGb)
+ status:
+ description: InstanceStatus defines the observed state of Instance.
+ properties:
+ atProvider:
+ properties:
+ alternativeLocationId:
+ description: Only applicable to STANDARD_HA tier which protects
+ the instance against zonal failures by provisioning it across
+ two zones. If provided, it must be a different zone from the
+ one provided in [locationId]. Only applicable to STANDARD_HA
+ tier which protects the instance against zonal failures by provisioning
+ it across two zones. If provided, it must be a different zone
+ from the one provided in [locationId].
+ type: string
+ authEnabled:
+ description: Optional. Indicates whether OSS Redis AUTH is enabled
+ for the instance. If set to "true" AUTH is enabled on the instance.
+ Default value is "false" meaning AUTH is disabled. Optional.
+ Indicates whether OSS Redis AUTH is enabled for the instance.
+ If set to "true" AUTH is enabled on the instance. Default value
+ is "false" meaning AUTH is disabled.
+ type: boolean
+ authorizedNetwork:
+ description: The full name of the Google Compute Engine network
+ to which the instance is connected. If left unspecified, the
+ default network will be used. The full name of the Google Compute
+ Engine network to which the instance is connected. If left unspecified,
+ the default network will be used.
+ type: string
+ connectMode:
+ description: 'The connection mode of the Redis instance. Default
+ value is DIRECT_PEERING. Possible values are: DIRECT_PEERING,
+ PRIVATE_SERVICE_ACCESS. The connection mode of the Redis instance.
+ Default value: "DIRECT_PEERING" Possible values: ["DIRECT_PEERING",
+ "PRIVATE_SERVICE_ACCESS"]'
+ type: string
+ createTime:
+ description: The time the instance was created in RFC3339 UTC
+ "Zulu" format, accurate to nanoseconds. The time the instance
+ was created in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
+ type: string
+ currentLocationId:
+ description: The current zone where the Redis endpoint is placed.
+ For Basic Tier instances, this will always be the same as the
+ [locationId] provided by the user at creation time. For Standard
+ Tier instances, this can be either [locationId] or [alternativeLocationId]
+ and can change after a failover event. The current zone where
+ the Redis endpoint is placed. For Basic Tier instances, this
+ will always be the same as the [locationId] provided by the
+ user at creation time. For Standard Tier instances, this can
+ be either [locationId] or [alternativeLocationId] and can change
+ after a failover event.
+ type: string
+ customerManagedKey:
+ description: Optional. The KMS key reference that you want to
+ use to encrypt the data at rest for this Redis instance. If
+ this is provided, CMEK is enabled. Optional. The KMS key reference
+ that you want to use to encrypt the data at rest for this Redis
+ instance. If this is provided, CMEK is enabled.
+ type: string
+ displayName:
+ description: An arbitrary and optional user-provided name for
+ the instance. An arbitrary and optional user-provided name for
+ the instance.
+ type: string
+ host:
+ description: Hostname or IP address of the exposed Redis endpoint
+ used by clients to connect to the service. Hostname or IP address
+ of the exposed Redis endpoint used by clients to connect to
+ the service.
+ type: string
+ id:
+ description: an identifier for the resource with format projects/{{project}}/locations/{{region}}/instances/{{name}}
+ type: string
+ labels:
+ additionalProperties:
+ type: string
+ description: Resource labels to represent user provided metadata.
+ Resource labels to represent user provided metadata.
+ type: object
+ locationId:
+ description: The zone where the instance will be provisioned.
+ If not provided, the service will choose a zone for the instance.
+ For STANDARD_HA tier, instances will be created across two zones
+ for protection against zonal failures. If [alternativeLocationId]
+ is also provided, it must be different from [locationId]. The
+ zone where the instance will be provisioned. If not provided,
+ the service will choose a zone for the instance. For STANDARD_HA
+ tier, instances will be created across two zones for protection
+ against zonal failures. If [alternativeLocationId] is also provided,
+ it must be different from [locationId].
+ type: string
+ maintenancePolicy:
+ description: Maintenance policy for an instance. Structure is
+ documented below. Maintenance policy for an instance.
+ items:
+ properties:
+ createTime:
+ description: (Output) Output only. The time when the policy
+ was created. A timestamp in RFC3339 UTC "Zulu" format,
+ with nanosecond resolution and up to nine fractional digits.
+ Output only. The time when the policy was created. A timestamp
+ in RFC3339 UTC "Zulu" format, with nanosecond resolution
+ and up to nine fractional digits.
+ type: string
+ description:
+ description: Optional. Description of what this policy is
+ for. Create/Update methods return INVALID_ARGUMENT if
+ the length is greater than 512. Optional. Description
+ of what this policy is for. Create/Update methods return
+ INVALID_ARGUMENT if the length is greater than 512.
+ type: string
+ updateTime:
+ description: (Output) Output only. The time when the policy
+ was last updated. A timestamp in RFC3339 UTC "Zulu" format,
+ with nanosecond resolution and up to nine fractional digits.
+ Output only. The time when the policy was last updated.
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
+ resolution and up to nine fractional digits.
+ type: string
+ weeklyMaintenanceWindow:
+ description: Optional. Maintenance window that is applied
+ to resources covered by this policy. Minimum 1. For the
+ current version, the maximum number of weekly_window is
+ expected to be one. Structure is documented below. Optional.
+ Maintenance window that is applied to resources covered
+ by this policy. Minimum 1. For the current version, the
+ maximum number of weekly_window is expected to be one.
+ items:
+ properties:
+ day:
+ description: "Required. The day of week that maintenance
+ updates occur. Required. The day of week that maintenance
+ updates occur. \n - DAY_OF_WEEK_UNSPECIFIED: The
+ day of the week is unspecified. - MONDAY: Monday
+ - TUESDAY: Tuesday - WEDNESDAY: Wednesday - THURSDAY:
+ Thursday - FRIDAY: Friday - SATURDAY: Saturday -
+ SUNDAY: Sunday Possible values: [\"DAY_OF_WEEK_UNSPECIFIED\",
+ \"MONDAY\", \"TUESDAY\", \"WEDNESDAY\", \"THURSDAY\",
+ \"FRIDAY\", \"SATURDAY\", \"SUNDAY\"]"
+ type: string
+ duration:
+ description: '(Output) Output only. Duration of the
+ maintenance window. The current window is fixed
+ at 1 hour. A duration in seconds with up to nine
+ fractional digits, terminated by ''s''. Example:
+ "3.5s". Output only. Duration of the maintenance
+ window. The current window is fixed at 1 hour. A
+ duration in seconds with up to nine fractional digits,
+ terminated by ''s''. Example: "3.5s".'
+ type: string
+ startTime:
+ description: Required. Start time of the window in
+ UTC time. Structure is documented below. Required.
+ Start time of the window in UTC time.
+ items:
+ properties:
+ hours:
+ description: Hours of day in 24 hour format.
+ Should be from 0 to 23. An API may choose
+ to allow the value "24:00:00" for scenarios
+ like business closing time. Hours of day in
+ 24 hour format. Should be from 0 to 23. An
+ API may choose to allow the value "24:00:00"
+ for scenarios like business closing time.
+ type: number
+ minutes:
+ description: Minutes of hour of day. Must be
+ from 0 to 59. Minutes of hour of day. Must
+ be from 0 to 59.
+ type: number
+ nanos:
+ description: Fractions of seconds in nanoseconds.
+ Must be from 0 to 999,999,999. Fractions of
+ seconds in nanoseconds. Must be from 0 to
+ 999,999,999.
+ type: number
+ seconds:
+ description: Seconds of minutes of the time.
+ Must normally be from 0 to 59. An API may
+ allow the value 60 if it allows leap-seconds.
+ Seconds of minutes of the time. Must normally
+ be from 0 to 59. An API may allow the value
+ 60 if it allows leap-seconds.
+ type: number
+ type: object
+ type: array
+ type: object
+ type: array
+ type: object
+ type: array
+ maintenanceSchedule:
+ description: Upcoming maintenance schedule. Structure is documented
+ below. Upcoming maintenance schedule.
+ items:
+ properties:
+ endTime:
+ description: (Output) Output only. The end time of any upcoming
+ scheduled maintenance for this instance. A timestamp in
+ RFC3339 UTC "Zulu" format, with nanosecond resolution
+ and up to nine fractional digits. Output only. The end
+ time of any upcoming scheduled maintenance for this instance.
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
+ resolution and up to nine fractional digits.
+ type: string
+ scheduleDeadlineTime:
+ description: (Output) Output only. The deadline that the
+ maintenance schedule start time can not go beyond, including
+ reschedule. A timestamp in RFC3339 UTC "Zulu" format,
+ with nanosecond resolution and up to nine fractional digits.
+ Output only. The deadline that the maintenance schedule
+ start time can not go beyond, including reschedule. A
+ timestamp in RFC3339 UTC "Zulu" format, with nanosecond
+ resolution and up to nine fractional digits.
+ type: string
+ startTime:
+ description: (Output) Output only. The start time of any
+ upcoming scheduled maintenance for this instance. A timestamp
+ in RFC3339 UTC "Zulu" format, with nanosecond resolution
+ and up to nine fractional digits. Output only. The start
+ time of any upcoming scheduled maintenance for this instance.
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
+ resolution and up to nine fractional digits.
+ type: string
+ type: object
+ type: array
+ memorySizeGb:
+ description: Redis memory size in GiB. Redis memory size in GiB.
+ type: number
+ nodes:
+ description: Output only. Info per node. Structure is documented
+ below. Output only. Info per node.
+ items:
+ properties:
+ id:
+ description: (Output) Node identifying string. e.g. 'node-0',
+ 'node-1'
+ type: string
+ zone:
+ description: (Output) Location of the node.
+ type: string
+ type: object
+ type: array
+ persistenceConfig:
+ description: Persistence configuration for an instance. Structure
+ is documented below. Persistence configuration for an instance.
+ items:
+ properties:
+ persistenceMode:
+ description: "Optional. Controls whether Persistence features
+ are enabled. If not provided, the existing value will
+ be used. Optional. Controls whether Persistence features
+ are enabled. If not provided, the existing value will
+ be used. \n - DISABLED: \tPersistence is disabled for
+ the instance, and any existing snapshots are deleted.
+ - RDB: RDB based Persistence is enabled. Possible values:
+ [\"DISABLED\", \"RDB\"]"
+ type: string
+ rdbNextSnapshotTime:
+ description: '(Output) Output only. The next time that a
+ snapshot attempt is scheduled to occur. A timestamp in
+ RFC3339 UTC "Zulu" format, with nanosecond resolution
+ and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z"
+ and "2014-10-02T15:01:23.045123456Z". Output only. The
+ next time that a snapshot attempt is scheduled to occur.
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
+ resolution and up to nine fractional digits. Examples:
+ "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".'
+ type: string
+ rdbSnapshotPeriod:
+ description: "Optional. Available snapshot periods for scheduling.
+ Optional. Available snapshot periods for scheduling. \n
+ - ONE_HOUR:\tSnapshot every 1 hour. - SIX_HOURS:\tSnapshot
+ every 6 hours. - TWELVE_HOURS:\tSnapshot every 12 hours.
+ - TWENTY_FOUR_HOURS:\tSnapshot every 24 hours. Possible
+ values: [\"ONE_HOUR\", \"SIX_HOURS\", \"TWELVE_HOURS\",
+ \"TWENTY_FOUR_HOURS\"]"
+ type: string
+ rdbSnapshotStartTime:
+ description: 'Optional. Date and time that the first snapshot
+ was/will be attempted, and to which future snapshots will
+ be aligned. If not provided, the current time will be
+ used. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
+ resolution and up to nine fractional digits. Examples:
+ "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
+ Optional. Date and time that the first snapshot was/will
+ be attempted, and to which future snapshots will be aligned.
+ If not provided, the current time will be used. A timestamp
+ in RFC3339 UTC "Zulu" format, with nanosecond resolution
+ and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z"
+ and "2014-10-02T15:01:23.045123456Z".'
+ type: string
+ type: object
+ type: array
+ persistenceIamIdentity:
+ description: Output only. Cloud IAM identity used by import /
+ export operations to transfer data to/from Cloud Storage. Format
+ is "serviceAccount:". The value may change over time for a given
+ instance so should be checked before each import/export operation.
+ Output only. Cloud IAM identity used by import / export operations
+ to transfer data to/from Cloud Storage. Format is "serviceAccount:".
+ The value may change over time for a given instance so should
+ be checked before each import/export operation.
+ type: string
+ port:
+ description: The port number of the exposed Redis endpoint. The
+ port number of the exposed Redis endpoint.
+ type: number
+ project:
+ description: The ID of the project in which the resource belongs.
+ If it is not provided, the provider project is used.
+ type: string
+ readEndpoint:
+ description: Output only. Hostname or IP address of the exposed
+ readonly Redis endpoint. Standard tier only. Targets all healthy
+ replica nodes in instance. Replication is asynchronous and replica
+ nodes will exhibit some lag behind the primary. Write requests
+ must target 'host'. Output only. Hostname or IP address of the
+ exposed readonly Redis endpoint. Standard tier only. Targets
+ all healthy replica nodes in instance. Replication is asynchronous
+ and replica nodes will exhibit some lag behind the primary.
+ Write requests must target 'host'.
+ type: string
+ readEndpointPort:
+ description: Output only. The port number of the exposed readonly
+ redis endpoint. Standard tier only. Write requests should target
+ 'port'. Output only. The port number of the exposed readonly
+ redis endpoint. Standard tier only. Write requests should target
+ 'port'.
+ type: number
+ readReplicasMode:
+ description: 'Optional. Read replica mode. Can only be specified
+ when trying to create the instance. If not set, Memorystore
+ Redis backend will default to READ_REPLICAS_DISABLED. Optional.
+ Read replica mode. Can only be specified when trying to create
+ the instance. If not set, Memorystore Redis backend will default
+ to READ_REPLICAS_DISABLED. - READ_REPLICAS_DISABLED: If disabled,
+ read endpoint will not be provided and the instance cannot scale
+ up or down the number of replicas. - READ_REPLICAS_ENABLED:
+ If enabled, read endpoint will be provided and the instance
+ can scale up and down the number of replicas. Possible values:
+ ["READ_REPLICAS_DISABLED", "READ_REPLICAS_ENABLED"]'
+ type: string
+ redisConfigs:
+ additionalProperties:
+ type: string
+ description: 'Redis configuration parameters, according to http://redis.io/topics/config.
+ Please check Memorystore documentation for the list of supported
+ parameters: https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs
+ Redis configuration parameters, according to http://redis.io/topics/config.
+ Please check Memorystore documentation for the list of supported
+ parameters: https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs'
+ type: object
+ redisVersion:
+ description: The version of Redis software. If not provided, latest
+ supported version will be used. Please check the API documentation
+ linked at the top for the latest valid values. The version of
+ Redis software. If not provided, latest supported version will
+ be used. Please check the API documentation linked at the top
+ for the latest valid values.
+ type: string
+ region:
+ description: The name of the Redis region of the instance. The
+ name of the Redis region of the instance.
+ type: string
+ replicaCount:
+ description: Optional. The number of replica nodes. The valid
+ range for the Standard Tier with read replicas enabled is [1-5]
+ and defaults to 2. If read replicas are not enabled for a Standard
+ Tier instance, the only valid value is 1 and the default is
+ 1. The valid value for basic tier is 0 and the default is also
+ 0. Optional. The number of replica nodes. The valid range for
+ the Standard Tier with read replicas enabled is [1-5] and defaults
+ to 2. If read replicas are not enabled for a Standard Tier instance,
+ the only valid value is 1 and the default is 1. The valid value
+ for basic tier is 0 and the default is also 0.
+ type: number
+ reservedIpRange:
+ description: The CIDR range of internal addresses that are reserved
+ for this instance. If not provided, the service will choose
+ an unused /29 block, for example, 10.0.0.0/29 or 192.168.0.0/29.
+ Ranges must be unique and non-overlapping with existing subnets
+ in an authorized network. The CIDR range of internal addresses
+ that are reserved for this instance. If not provided, the service
+ will choose an unused /29 block, for example, 10.0.0.0/29 or
+ 192.168.0.0/29. Ranges must be unique and non-overlapping with
+ existing subnets in an authorized network.
+ type: string
+ secondaryIpRange:
+ description: Optional. Additional IP range for node placement.
+ Required when enabling read replicas on an existing instance.
+ For DIRECT_PEERING mode value must be a CIDR range of size /28,
+ or "auto". For PRIVATE_SERVICE_ACCESS mode value must be the
+ name of an allocated address range associated with the private
+ service access connection, or "auto". Optional. Additional IP
+ range for node placement. Required when enabling read replicas
+ on an existing instance. For DIRECT_PEERING mode value must
+ be a CIDR range of size /28, or "auto". For PRIVATE_SERVICE_ACCESS
+ mode value must be the name of an allocated address range associated
+ with the private service access connection, or "auto".
+ type: string
+ serverCaCerts:
+ description: List of server CA certificates for the instance.
+ Structure is documented below. List of server CA certificates
+ for the instance.
+ items:
+ properties:
+ cert:
+ description: (Output) The certificate data in PEM format.
+ type: string
+ createTime:
+ description: (Output) The time when the certificate was
+ created.
+ type: string
+ expireTime:
+ description: (Output) The time when the certificate expires.
+ type: string
+ serialNumber:
+ description: (Output) Serial number, as extracted from the
+ certificate.
+ type: string
+ sha1Fingerprint:
+ description: (Output) Sha1 Fingerprint of the certificate.
+ type: string
+ type: object
+ type: array
+ tier:
+ description: "The service tier of the instance. Must be one of
+ these values: The service tier of the instance. Must be one
+ of these values: \n - BASIC: standalone instance - STANDARD_HA:
+ highly available primary/replica instances Default value: \"BASIC\"
+ Possible values: [\"BASIC\", \"STANDARD_HA\"]"
+ type: string
+ transitEncryptionMode:
+ description: "The TLS mode of the Redis instance, If not provided,
+ TLS is disabled for the instance. The TLS mode of the Redis
+ instance, If not provided, TLS is disabled for the instance.
+ \n - SERVER_AUTHENTICATION: Client to Server traffic encryption
+ enabled with server authentication Default value: \"DISABLED\"
+ Possible values: [\"SERVER_AUTHENTICATION\", \"DISABLED\"]"
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_databaseiammembers.yaml b/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_databaseiammembers.yaml
new file mode 100644
index 000000000..119ab0a9d
--- /dev/null
+++ b/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_databaseiammembers.yaml
@@ -0,0 +1,503 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: databaseiammembers.spanner.gcp.kubedb.com
+spec:
+ group: spanner.gcp.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - gcp
+ kind: DatabaseIAMMember
+ listKind: DatabaseIAMMemberList
+ plural: databaseiammembers
+ singular: databaseiammember
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: DatabaseIAMMember is the Schema for the DatabaseIAMMembers 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: DatabaseIAMMemberSpec defines the desired state of DatabaseIAMMember
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ condition:
+ items:
+ properties:
+ description:
+ type: string
+ expression:
+ type: string
+ title:
+ type: string
+ required:
+ - expression
+ - title
+ type: object
+ type: array
+ database:
+ type: string
+ databaseRef:
+ description: Reference to a Database to populate database.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ databaseSelector:
+ description: Selector for a Database to populate database.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ instance:
+ type: string
+ instanceRef:
+ description: Reference to a Instance to populate instance.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ instanceSelector:
+ description: Selector for a Instance to populate instance.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ member:
+ type: string
+ project:
+ type: string
+ role:
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: member is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.member)
+ - message: role is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.role)
+ status:
+ description: DatabaseIAMMemberStatus defines the observed state of DatabaseIAMMember.
+ properties:
+ atProvider:
+ properties:
+ condition:
+ items:
+ properties:
+ description:
+ type: string
+ expression:
+ type: string
+ title:
+ type: string
+ type: object
+ type: array
+ database:
+ type: string
+ etag:
+ type: string
+ id:
+ type: string
+ instance:
+ type: string
+ member:
+ type: string
+ project:
+ type: string
+ role:
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_databases.yaml b/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_databases.yaml
new file mode 100644
index 000000000..1297eabe8
--- /dev/null
+++ b/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_databases.yaml
@@ -0,0 +1,430 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: databases.spanner.gcp.kubedb.com
+spec:
+ group: spanner.gcp.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - gcp
+ kind: Database
+ listKind: DatabaseList
+ plural: databases
+ singular: database
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Database is the Schema for the Databases API. A Cloud Spanner
+ Database which is hosted on a Spanner instance.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: DatabaseSpec defines the desired state of Database
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ databaseDialect:
+ description: 'The dialect of the Cloud Spanner Database. If it
+ is not provided, "GOOGLE_STANDARD_SQL" will be used. Possible
+ values are: GOOGLE_STANDARD_SQL, POSTGRESQL. The dialect of
+ the Cloud Spanner Database. If it is not provided, "GOOGLE_STANDARD_SQL"
+ will be used. Possible values: ["GOOGLE_STANDARD_SQL", "POSTGRESQL"]'
+ type: string
+ ddl:
+ description: 'An optional list of DDL statements to run inside
+ the newly created database. Statements can create tables, indexes,
+ etc. These statements execute atomically with the creation of
+ the database: if there is an error in any statement, the database
+ is not created. An optional list of DDL statements to run inside
+ the newly created database. Statements can create tables, indexes,
+ etc. These statements execute atomically with the creation of
+ the database: if there is an error in any statement, the database
+ is not created.'
+ items:
+ type: string
+ type: array
+ deletionProtection:
+ type: boolean
+ encryptionConfig:
+ description: Encryption configuration for the database Structure
+ is documented below. Encryption configuration for the database
+ items:
+ properties:
+ kmsKeyName:
+ description: Fully qualified name of the KMS key to use
+ to encrypt this database. This key must exist in the same
+ location as the Spanner Database. Fully qualified name
+ of the KMS key to use to encrypt this database. This key
+ must exist in the same location as the Spanner Database.
+ type: string
+ required:
+ - kmsKeyName
+ type: object
+ type: array
+ instance:
+ description: The instance to create the database on. The instance
+ to create the database on.
+ type: string
+ project:
+ description: The ID of the project in which the resource belongs.
+ If it is not provided, the provider project is used.
+ type: string
+ versionRetentionPeriod:
+ description: The retention period for the database. The retention
+ period must be between 1 hour and 7 days, and can be specified
+ in days, hours, minutes, or seconds. For example, the values
+ 1d, 24h, 1440m, and 86400s are equivalent. Default value is
+ 1h. If this property is used, you must avoid adding new DDL
+ statements to ddl that update the database's version_retention_period.
+ The retention period for the database. The retention period
+ must be between 1 hour and 7 days, and can be specified in days,
+ hours, minutes, or seconds. For example, the values 1d, 24h,
+ 1440m, and 86400s are equivalent. Default value is 1h. If this
+ property is used, you must avoid adding new DDL statements to
+ 'ddl' that update the database's version_retention_period.
+ type: string
+ required:
+ - instance
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ status:
+ description: DatabaseStatus defines the observed state of Database.
+ properties:
+ atProvider:
+ properties:
+ databaseDialect:
+ description: 'The dialect of the Cloud Spanner Database. If it
+ is not provided, "GOOGLE_STANDARD_SQL" will be used. Possible
+ values are: GOOGLE_STANDARD_SQL, POSTGRESQL. The dialect of
+ the Cloud Spanner Database. If it is not provided, "GOOGLE_STANDARD_SQL"
+ will be used. Possible values: ["GOOGLE_STANDARD_SQL", "POSTGRESQL"]'
+ type: string
+ ddl:
+ description: 'An optional list of DDL statements to run inside
+ the newly created database. Statements can create tables, indexes,
+ etc. These statements execute atomically with the creation of
+ the database: if there is an error in any statement, the database
+ is not created. An optional list of DDL statements to run inside
+ the newly created database. Statements can create tables, indexes,
+ etc. These statements execute atomically with the creation of
+ the database: if there is an error in any statement, the database
+ is not created.'
+ items:
+ type: string
+ type: array
+ deletionProtection:
+ type: boolean
+ encryptionConfig:
+ description: Encryption configuration for the database Structure
+ is documented below. Encryption configuration for the database
+ items:
+ properties:
+ kmsKeyName:
+ description: Fully qualified name of the KMS key to use
+ to encrypt this database. This key must exist in the same
+ location as the Spanner Database. Fully qualified name
+ of the KMS key to use to encrypt this database. This key
+ must exist in the same location as the Spanner Database.
+ type: string
+ type: object
+ type: array
+ id:
+ description: an identifier for the resource with format {{instance}}/{{name}}
+ type: string
+ instance:
+ description: The instance to create the database on. The instance
+ to create the database on.
+ type: string
+ project:
+ description: The ID of the project in which the resource belongs.
+ If it is not provided, the provider project is used.
+ type: string
+ state:
+ description: An explanation of the status of the database. An
+ explanation of the status of the database.
+ type: string
+ versionRetentionPeriod:
+ description: The retention period for the database. The retention
+ period must be between 1 hour and 7 days, and can be specified
+ in days, hours, minutes, or seconds. For example, the values
+ 1d, 24h, 1440m, and 86400s are equivalent. Default value is
+ 1h. If this property is used, you must avoid adding new DDL
+ statements to ddl that update the database's version_retention_period.
+ The retention period for the database. The retention period
+ must be between 1 hour and 7 days, and can be specified in days,
+ hours, minutes, or seconds. For example, the values 1d, 24h,
+ 1440m, and 86400s are equivalent. Default value is 1h. If this
+ property is used, you must avoid adding new DDL statements to
+ 'ddl' that update the database's version_retention_period.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_instanceiammembers.yaml b/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_instanceiammembers.yaml
new file mode 100644
index 000000000..968c55d0b
--- /dev/null
+++ b/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_instanceiammembers.yaml
@@ -0,0 +1,426 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: instanceiammembers.spanner.gcp.kubedb.com
+spec:
+ group: spanner.gcp.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - gcp
+ kind: InstanceIAMMember
+ listKind: InstanceIAMMemberList
+ plural: instanceiammembers
+ singular: instanceiammember
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: InstanceIAMMember is the Schema for the InstanceIAMMembers 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: InstanceIAMMemberSpec defines the desired state of InstanceIAMMember
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ condition:
+ items:
+ properties:
+ description:
+ type: string
+ expression:
+ type: string
+ title:
+ type: string
+ required:
+ - expression
+ - title
+ type: object
+ type: array
+ instance:
+ type: string
+ instanceRef:
+ description: Reference to a Instance to populate instance.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ instanceSelector:
+ description: Selector for a Instance to populate instance.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ member:
+ type: string
+ project:
+ type: string
+ role:
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: member is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.member)
+ - message: role is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.role)
+ status:
+ description: InstanceIAMMemberStatus defines the observed state of InstanceIAMMember.
+ properties:
+ atProvider:
+ properties:
+ condition:
+ items:
+ properties:
+ description:
+ type: string
+ expression:
+ type: string
+ title:
+ type: string
+ type: object
+ type: array
+ etag:
+ type: string
+ id:
+ type: string
+ instance:
+ type: string
+ member:
+ type: string
+ project:
+ type: string
+ role:
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_instances.yaml b/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_instances.yaml
new file mode 100644
index 000000000..15bb0a4b2
--- /dev/null
+++ b/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_instances.yaml
@@ -0,0 +1,415 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: instances.spanner.gcp.kubedb.com
+spec:
+ group: spanner.gcp.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - gcp
+ kind: Instance
+ listKind: InstanceList
+ plural: instances
+ singular: instance
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Instance is the Schema for the Instances API. An isolated set
+ of Cloud Spanner resources on which databases can be hosted.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: InstanceSpec defines the desired state of Instance
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ config:
+ description: The name of the instance's configuration (similar
+ but not quite the same as a region) which defines the geographic
+ placement and replication of your databases in this instance.
+ It determines where your data is stored. Values are typically
+ of the form regional-europe-west1 , us-central etc. In order
+ to obtain a valid list please consult the Configuration section
+ of the docs. The name of the instance's configuration (similar
+ but not quite the same as a region) which defines the geographic
+ placement and replication of your databases in this instance.
+ It determines where your data is stored. Values are typically
+ of the form 'regional-europe-west1' , 'us-central' etc. In order
+ to obtain a valid list please consult the [Configuration section
+ of the docs](https://cloud.google.com/spanner/docs/instances).
+ type: string
+ displayName:
+ description: The descriptive name for this instance as it appears
+ in UIs. Must be unique per project and between 4 and 30 characters
+ in length. The descriptive name for this instance as it appears
+ in UIs. Must be unique per project and between 4 and 30 characters
+ in length.
+ type: string
+ forceDestroy:
+ description: When deleting a spanner instance, this boolean option
+ will delete all backups of this instance. This must be set to
+ true if you created a backup manually in the console. When deleting
+ a spanner instance, this boolean option will delete all backups
+ of this instance. This must be set to true if you created a
+ backup manually in the console.
+ type: boolean
+ labels:
+ additionalProperties:
+ type: string
+ description: 'An object containing a list of "key": value pairs.
+ Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
+ An object containing a list of "key": value pairs. Example:
+ { "name": "wrench", "mass": "1.3kg", "count": "3" }.'
+ type: object
+ numNodes:
+ description: The number of nodes allocated to this instance. The
+ number of nodes allocated to this instance.
+ type: number
+ processingUnits:
+ description: The number of processing units allocated to this
+ instance. The number of processing units allocated to this instance.
+ type: number
+ project:
+ description: The ID of the project in which the resource belongs.
+ If it is not provided, the provider project is used.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: config is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.config)
+ - message: displayName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.displayName)
+ status:
+ description: InstanceStatus defines the observed state of Instance.
+ properties:
+ atProvider:
+ properties:
+ config:
+ description: The name of the instance's configuration (similar
+ but not quite the same as a region) which defines the geographic
+ placement and replication of your databases in this instance.
+ It determines where your data is stored. Values are typically
+ of the form regional-europe-west1 , us-central etc. In order
+ to obtain a valid list please consult the Configuration section
+ of the docs. The name of the instance's configuration (similar
+ but not quite the same as a region) which defines the geographic
+ placement and replication of your databases in this instance.
+ It determines where your data is stored. Values are typically
+ of the form 'regional-europe-west1' , 'us-central' etc. In order
+ to obtain a valid list please consult the [Configuration section
+ of the docs](https://cloud.google.com/spanner/docs/instances).
+ type: string
+ displayName:
+ description: The descriptive name for this instance as it appears
+ in UIs. Must be unique per project and between 4 and 30 characters
+ in length. The descriptive name for this instance as it appears
+ in UIs. Must be unique per project and between 4 and 30 characters
+ in length.
+ type: string
+ forceDestroy:
+ description: When deleting a spanner instance, this boolean option
+ will delete all backups of this instance. This must be set to
+ true if you created a backup manually in the console. When deleting
+ a spanner instance, this boolean option will delete all backups
+ of this instance. This must be set to true if you created a
+ backup manually in the console.
+ type: boolean
+ id:
+ description: an identifier for the resource with format {{project}}/{{name}}
+ type: string
+ labels:
+ additionalProperties:
+ type: string
+ description: 'An object containing a list of "key": value pairs.
+ Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
+ An object containing a list of "key": value pairs. Example:
+ { "name": "wrench", "mass": "1.3kg", "count": "3" }.'
+ type: object
+ numNodes:
+ description: The number of nodes allocated to this instance. The
+ number of nodes allocated to this instance.
+ type: number
+ processingUnits:
+ description: The number of processing units allocated to this
+ instance. The number of processing units allocated to this instance.
+ type: number
+ project:
+ description: The ID of the project in which the resource belongs.
+ If it is not provided, the provider project is used.
+ type: string
+ state:
+ description: 'Instance status: CREATING or READY. Instance status:
+ ''CREATING'' or ''READY''.'
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_databaseinstances.yaml b/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_databaseinstances.yaml
new file mode 100644
index 000000000..5c2b169c8
--- /dev/null
+++ b/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_databaseinstances.yaml
@@ -0,0 +1,1699 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: databaseinstances.sql.gcp.kubedb.com
+spec:
+ group: sql.gcp.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - gcp
+ kind: DatabaseInstance
+ listKind: DatabaseInstanceList
+ plural: databaseinstances
+ singular: databaseinstance
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: DatabaseInstance is the Schema for the DatabaseInstances API.
+ Creates a new SQL database instance in Google Cloud SQL.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: DatabaseInstanceSpec defines the desired state of DatabaseInstance
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ clone:
+ description: The context needed to create this instance as a clone
+ of another instance. The configuration is detailed below. Configuration
+ for creating a new instance as a clone of another instance.
+ items:
+ properties:
+ allocatedIpRange:
+ description: 'The name of the allocated ip range for the
+ private ip CloudSQL instance. For example: "google-managed-services-default".
+ If set, the cloned instance ip will be created in the
+ allocated range. The range name must comply with RFC 1035.
+ Specifically, the name must be 1-63 characters long and
+ match the regular expression a-z?. The name of the allocated
+ ip range for the private ip CloudSQL instance. For example:
+ "google-managed-services-default". If set, the cloned
+ instance ip will be created in the allocated range. The
+ range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035).
+ Specifically, the name must be 1-63 characters long and
+ match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?.'
+ type: string
+ databaseNames:
+ description: (SQL Server only, use with point_in_time) Clone
+ only the specified databases from the source instance.
+ Clone all databases if empty. (SQL Server only, use with
+ point_in_time) clone only the specified databases from
+ the source instance. Clone all databases if empty.
+ items:
+ type: string
+ type: array
+ pointInTime:
+ description: The timestamp of the point in time that should
+ be restored. The timestamp of the point in time that should
+ be restored.
+ type: string
+ sourceInstanceName:
+ description: Name of the source instance which will be cloned.
+ The name of the instance from which the point in time
+ should be restored.
+ type: string
+ required:
+ - sourceInstanceName
+ type: object
+ type: array
+ databaseVersion:
+ description: The MySQL, PostgreSQL or SQL Server version to use.
+ Supported values include MYSQL_5_6, MYSQL_5_7, MYSQL_8_0, POSTGRES_9_6,POSTGRES_10,
+ POSTGRES_11, POSTGRES_12, POSTGRES_13, POSTGRES_14, SQLSERVER_2017_STANDARD,
+ SQLSERVER_2017_ENTERPRISE, SQLSERVER_2017_EXPRESS, SQLSERVER_2017_WEB.
+ SQLSERVER_2019_STANDARD, SQLSERVER_2019_ENTERPRISE, SQLSERVER_2019_EXPRESS,
+ SQLSERVER_2019_WEB. Database Version Policies includes an up-to-date
+ reference of supported versions. The MySQL, PostgreSQL or SQL
+ Server (beta) version to use. Supported values include MYSQL_5_6,
+ MYSQL_5_7, MYSQL_8_0, POSTGRES_9_6, POSTGRES_10, POSTGRES_11,
+ POSTGRES_12, POSTGRES_13, POSTGRES_14, SQLSERVER_2017_STANDARD,
+ SQLSERVER_2017_ENTERPRISE, SQLSERVER_2017_EXPRESS, SQLSERVER_2017_WEB.
+ Database Version Policies includes an up-to-date reference of
+ supported versions.
+ type: string
+ deletionProtection:
+ description: Defaults to true. Defaults to true.
+ type: boolean
+ encryptionKeyName:
+ description: The full path to the encryption key used for the
+ CMEK disk encryption. The provided key must be in the same region
+ as the SQL instance. In order to use this feature, a special
+ kind of service account must be created and granted permission
+ on this key. This step can currently only be done manually,
+ please see this step. That service account needs the Cloud KMS
+ > Cloud KMS CryptoKey Encrypter/Decrypter role on your key -
+ please see this step.
+ type: string
+ maintenanceVersion:
+ description: The current software version on the instance. This
+ attribute can not be set during creation. Refer to available_maintenance_versions
+ attribute to see what maintenance_version are available for
+ upgrade. When this attribute gets updated, it will cause an
+ instance restart. Setting a maintenance_version value that is
+ older than the current one on the instance will be ignored.
+ Maintenance version.
+ type: string
+ masterInstanceName:
+ description: The name of the existing instance that will act as
+ the master in the replication setup. Note, this requires the
+ master to have binary_log_enabled set, as well as existing backups.
+ The name of the instance that will act as the master in the
+ replication setup. Note, this requires the master to have binary_log_enabled
+ set, as well as existing backups.
+ type: string
+ project:
+ description: The ID of the project in which the resource belongs.
+ If it is not provided, the provider project is used. The ID
+ of the project in which the resource belongs. If it is not provided,
+ the provider project is used.
+ type: string
+ region:
+ description: The region the instance will sit in. If a region
+ is not provided in the resource definition, the provider region
+ will be used instead. The region the instance will sit in. Note,
+ Cloud SQL is not available in all regions. A valid region must
+ be provided to use this resource. If a region is not provided
+ in the resource definition, the provider region will be used
+ instead, but this will be an apply-time error for instances
+ if the provider region is not supported with Cloud SQL. If you
+ choose not to provide the region argument for this resource,
+ make sure you understand this.
+ type: string
+ replicaConfiguration:
+ description: The configuration for replication. The configuration
+ is detailed below. Valid only for MySQL instances. The configuration
+ for replication.
+ items:
+ properties:
+ caCertificate:
+ description: PEM representation of the trusted CA's x509
+ certificate. PEM representation of the trusted CA's x509
+ certificate.
+ type: string
+ clientCertificate:
+ description: PEM representation of the replica's x509 certificate.
+ PEM representation of the replica's x509 certificate.
+ type: string
+ clientKey:
+ description: PEM representation of the replica's private
+ key. The corresponding public key in encoded in the client_certificate.
+ PEM representation of the replica's private key. The corresponding
+ public key in encoded in the client_certificate.
+ type: string
+ connectRetryInterval:
+ description: The number of seconds between connect retries.
+ MySQL's default is 60 seconds. The number of seconds between
+ connect retries. MySQL's default is 60 seconds.
+ type: number
+ dumpFilePath:
+ description: Path to a SQL file in GCS from which replica
+ instances are created. Format is gs://bucket/filename.
+ Path to a SQL file in Google Cloud Storage from which
+ replica instances are created. Format is gs://bucket/filename.
+ type: string
+ failoverTarget:
+ description: Specifies if the replica is the failover target.
+ If the field is set to true the replica will be designated
+ as a failover replica. If the master instance fails, the
+ replica instance will be promoted as the new master instance.
+ Specifies if the replica is the failover target. If the
+ field is set to true the replica will be designated as
+ a failover replica. If the master instance fails, the
+ replica instance will be promoted as the new master instance.
+ type: boolean
+ masterHeartbeatPeriod:
+ description: Time in ms between replication heartbeats.
+ Time in ms between replication heartbeats.
+ type: number
+ passwordSecretRef:
+ description: Password for the replication connection. Password
+ for the replication connection.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ sslCipher:
+ description: Permissible ciphers for use in SSL encryption.
+ type: string
+ username:
+ description: Username for replication connection. Username
+ for replication connection.
+ type: string
+ verifyServerCertificate:
+ description: True if the master's common name value is checked
+ during the SSL handshake. True if the master's common
+ name value is checked during the SSL handshake.
+ type: boolean
+ type: object
+ type: array
+ restoreBackupContext:
+ description: The context needed to restore the database to a backup
+ run. The configuration is detailed below. Adding or modifying
+ this block during resource creation/update will trigger the
+ restore action after the resource is created/updated.
+ items:
+ properties:
+ backupRunId:
+ description: The ID of the backup run to restore from. The
+ ID of the backup run to restore from.
+ type: number
+ instanceId:
+ description: The ID of the instance that the backup was
+ taken from. If left empty, this instance's ID will be
+ used. The ID of the instance that the backup was taken
+ from.
+ type: string
+ project:
+ description: The full project ID of the source instance.`
+ The full project ID of the source instance.
+ type: string
+ required:
+ - backupRunId
+ type: object
+ type: array
+ rootPasswordSecretRef:
+ description: Initial root password. Can be updated. Required for
+ MS SQL Server. Initial root password. Required for MS SQL Server.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ settings:
+ description: The settings to use for the database. The configuration
+ is detailed below. Required if clone is not set. The settings
+ to use for the database. The configuration is detailed below.
+ items:
+ properties:
+ activationPolicy:
+ description: This specifies when the instance should be
+ active. Can be either ALWAYS, NEVER or ON_DEMAND. This
+ specifies when the instance should be active. Can be either
+ ALWAYS, NEVER or ON_DEMAND.
+ type: string
+ activeDirectoryConfig:
+ items:
+ properties:
+ domain:
+ description: The domain name for the active directory
+ (e.g., mydomain.com). Can only be used with SQL
+ Server. Domain name of the Active Directory for
+ SQL Server (e.g., mydomain.com).
+ type: string
+ required:
+ - domain
+ type: object
+ type: array
+ advancedMachineFeatures:
+ items:
+ properties:
+ threadsPerCore:
+ description: The number of threads per core. The value
+ of this flag can be 1 or 2. To disable SMT, set
+ this flag to 1. Only available in Cloud SQL for
+ SQL Server instances. See smt for more details.
+ The number of threads per physical core. Can be
+ 1 or 2.
+ type: number
+ type: object
+ type: array
+ availabilityType:
+ description: The availability type of the Cloud SQL instance,
+ high availability (REGIONAL) or single zone (ZONAL).'
+ For all instances, ensure that settings.backup_configuration.enabled
+ is set to true. For MySQL instances, ensure that settings.backup_configuration.binary_log_enabled
+ is set to true. For Postgres and SQL Server instances,
+ ensure that settings.backup_configuration.point_in_time_recovery_enabled
+ is set to true. Defaults to ZONAL. The availability type
+ of the Cloud SQL instance, high availability (REGIONAL)
+ or single zone (ZONAL). For all instances, ensure that
+ settings.backup_configuration.enabled is set to true.
+ For MySQL instances, ensure that settings.backup_configuration.binary_log_enabled
+ is set to true. For Postgres instances, ensure that settings.backup_configuration.point_in_time_recovery_enabled
+ is set to true. Defaults to ZONAL.
+ type: string
+ backupConfiguration:
+ items:
+ properties:
+ backupRetentionSettings:
+ description: Backup retention settings. The configuration
+ is detailed below.
+ items:
+ properties:
+ retainedBackups:
+ description: Depending on the value of retention_unit,
+ this is used to determine if a backup needs
+ to be deleted. If retention_unit is 'COUNT',
+ we will retain this many backups. Number of
+ backups to retain.
+ type: number
+ retentionUnit:
+ description: The unit that 'retained_backups'
+ represents. Defaults to COUNT. The unit that
+ 'retainedBackups' represents. Defaults to
+ COUNT
+ type: string
+ required:
+ - retainedBackups
+ type: object
+ type: array
+ binaryLogEnabled:
+ description: True if binary logging is enabled. Can
+ only be used with MySQL. True if binary logging
+ is enabled. If settings.backup_configuration.enabled
+ is false, this must be as well. Can only be used
+ with MySQL.
+ type: boolean
+ enabled:
+ description: True if backup configuration is enabled.
+ True if backup configuration is enabled.
+ type: boolean
+ location:
+ description: The region where the backup will be stored
+ Location of the backup configuration.
+ type: string
+ pointInTimeRecoveryEnabled:
+ description: True if Point-in-time recovery is enabled.
+ Will restart database if enabled after instance
+ creation. Valid only for PostgreSQL and SQL Server
+ instances. True if Point-in-time recovery is enabled.
+ type: boolean
+ startTime:
+ description: HH:MM format time indicating when backup
+ configuration starts. HH:MM format time indicating
+ when backup configuration starts.
+ type: string
+ transactionLogRetentionDays:
+ description: The number of days of transaction logs
+ we retain for point in time restore, from 1-7. The
+ number of days of transaction logs we retain for
+ point in time restore, from 1-7.
+ type: number
+ type: object
+ type: array
+ collation:
+ description: The name of server instance collation. The
+ name of server instance collation.
+ type: string
+ connectorEnforcement:
+ description: Specifies if connections must use Cloud SQL
+ connectors. Specifies if connections must use Cloud SQL
+ connectors.
+ type: string
+ databaseFlags:
+ items:
+ properties:
+ name:
+ description: A name for this whitelist entry. Name
+ of the flag.
+ type: string
+ value:
+ description: A CIDR notation IPv4 or IPv6 address
+ that is allowed to access this instance. Must be
+ set even if other two attributes are not for the
+ whitelist to become active. Value of the flag.
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ deletionProtectionEnabled:
+ description: . Configuration to protect against accidental
+ instance deletion.
+ type: boolean
+ denyMaintenancePeriod:
+ items:
+ properties:
+ endDate:
+ description: '"deny maintenance period" end date.
+ If the year of the end date is empty, the year of
+ the start date also must be empty. In this case,
+ it means the no maintenance interval recurs every
+ year. The date is in format yyyy-mm-dd i.e., 2020-11-01,
+ or mm-dd, i.e., 11-01 End date before which maintenance
+ will not take place. The date is in format yyyy-mm-dd
+ i.e., 2020-11-01, or mm-dd, i.e., 11-01'
+ type: string
+ startDate:
+ description: '"deny maintenance period" start date.
+ If the year of the start date is empty, the year
+ of the end date also must be empty. In this case,
+ it means the deny maintenance period recurs every
+ year. The date is in format yyyy-mm-dd i.e., 2020-11-01,
+ or mm-dd, i.e., 11-01 Start date after which maintenance
+ will not take place. The date is in format yyyy-mm-dd
+ i.e., 2020-11-01, or mm-dd, i.e., 11-01'
+ type: string
+ time:
+ description: 'Time in UTC when the "deny maintenance
+ period" starts on startDate and ends on endDate.
+ The time is in format: HH:mm:SS, i.e., 00:00:00
+ Time in UTC when the "deny maintenance period" starts
+ on start_date and ends on end_date. The time is
+ in format: HH:mm:SS, i.e., 00:00:00'
+ type: string
+ required:
+ - endDate
+ - startDate
+ - time
+ type: object
+ type: array
+ diskAutoresize:
+ description: Enables auto-resizing of the storage size.
+ Defaults to true. Enables auto-resizing of the storage
+ size. Defaults to true.
+ type: boolean
+ diskAutoresizeLimit:
+ description: The maximum size to which storage capacity
+ can be automatically increased. The default value is 0,
+ which specifies that there is no limit. The maximum size,
+ in GB, to which storage capacity can be automatically
+ increased. The default value is 0, which specifies that
+ there is no limit.
+ type: number
+ diskSize:
+ description: The size of data disk, in GB. Size of a running
+ instance cannot be reduced but can be increased. The minimum
+ value is 10GB. The size of data disk, in GB. Size of a
+ running instance cannot be reduced but can be increased.
+ The minimum value is 10GB.
+ type: number
+ diskType:
+ description: 'The type of data disk: PD_SSD or PD_HDD. Defaults
+ to PD_SSD. The type of data disk: PD_SSD or PD_HDD. Defaults
+ to PD_SSD.'
+ type: string
+ insightsConfig:
+ description: Configuration of Query Insights.
+ items:
+ properties:
+ queryInsightsEnabled:
+ description: True if Query Insights feature is enabled.
+ True if Query Insights feature is enabled.
+ type: boolean
+ queryPlansPerMinute:
+ description: Number of query execution plans captured
+ by Insights per minute for all queries combined.
+ Between 0 and 20. Default to 5. Number of query
+ execution plans captured by Insights per minute
+ for all queries combined. Between 0 and 20. Default
+ to 5.
+ type: number
+ queryStringLength:
+ description: Maximum query length stored in bytes.
+ Between 256 and 4500. Default to 1024. Higher query
+ lengths are more useful for analytical queries,
+ but they also require more memory. Changing the
+ query length requires you to restart the instance.
+ You can still add tags to queries that exceed the
+ length limit. Maximum query length stored in bytes.
+ Between 256 and 4500. Default to 1024.
+ type: number
+ recordApplicationTags:
+ description: True if Query Insights will record application
+ tags from query when enabled. True if Query Insights
+ will record application tags from query when enabled.
+ type: boolean
+ recordClientAddress:
+ description: True if Query Insights will record client
+ address when enabled. True if Query Insights will
+ record client address when enabled.
+ type: boolean
+ type: object
+ type: array
+ ipConfiguration:
+ items:
+ properties:
+ allocatedIpRange:
+ description: 'The name of the allocated ip range for
+ the private ip CloudSQL instance. For example: "google-managed-services-default".
+ If set, the instance ip will be created in the allocated
+ range. The range name must comply with RFC 1035.
+ Specifically, the name must be 1-63 characters long
+ and match the regular expression a-z?. The name
+ of the allocated ip range for the private ip CloudSQL
+ instance. For example: "google-managed-services-default".
+ If set, the instance ip will be created in the allocated
+ range. The range name must comply with RFC 1035.
+ Specifically, the name must be 1-63 characters long
+ and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?.'
+ type: string
+ authorizedNetworks:
+ items:
+ properties:
+ expirationTime:
+ description: The RFC 3339 formatted date time
+ string indicating when this whitelist expires.
+ type: string
+ name:
+ description: A name for this whitelist entry.
+ type: string
+ value:
+ description: A CIDR notation IPv4 or IPv6 address
+ that is allowed to access this instance. Must
+ be set even if other two attributes are not
+ for the whitelist to become active.
+ type: string
+ required:
+ - value
+ type: object
+ type: array
+ enablePrivatePathForGoogleCloudServices:
+ description: Whether Google Cloud services such as
+ BigQuery are allowed to access data in this Cloud
+ SQL instance over a private IP connection. SQLSERVER
+ database type is not supported. Whether Google Cloud
+ services such as BigQuery are allowed to access
+ data in this Cloud SQL instance over a private IP
+ connection. SQLSERVER database type is not supported.
+ type: boolean
+ ipv4Enabled:
+ description: Whether this Cloud SQL instance should
+ be assigned a public IPV4 address. At least ipv4_enabled
+ must be enabled or a private_network must be configured.
+ Whether this Cloud SQL instance should be assigned
+ a public IPV4 address. At least ipv4_enabled must
+ be enabled or a private_network must be configured.
+ type: boolean
+ privateNetwork:
+ description: The VPC network from which the Cloud
+ SQL instance is accessible for private IP. For example, projects/myProject/global/networks/default.
+ Specifying a network enables private IP. At least
+ ipv4_enabled must be enabled or a private_network
+ must be configured. This setting can be updated,
+ but it cannot be removed after it is set. The VPC
+ network from which the Cloud SQL instance is accessible
+ for private IP. For example, projects/myProject/global/networks/default.
+ Specifying a network enables private IP. At least
+ ipv4_enabled must be enabled or a private_network
+ must be configured. This setting can be updated,
+ but it cannot be removed after it is set.
+ type: string
+ requireSsl:
+ description: Whether SSL connections over IP are enforced
+ or not.
+ type: boolean
+ type: object
+ type: array
+ locationPreference:
+ items:
+ properties:
+ followGaeApplication:
+ description: A GAE application whose zone to remain
+ in. Must be in the same region as this instance.
+ A Google App Engine application whose zone to remain
+ in. Must be in the same region as this instance.
+ type: string
+ secondaryZone:
+ description: The preferred Compute Engine zone for
+ the secondary/failover. The preferred Compute Engine
+ zone for the secondary/failover
+ type: string
+ zone:
+ description: The preferred compute engine zone. The
+ preferred compute engine zone.
+ type: string
+ type: object
+ type: array
+ maintenanceWindow:
+ description: Declares a one-hour maintenance window when
+ an Instance can automatically restart to apply updates.
+ The maintenance window is specified in UTC time.
+ items:
+ properties:
+ day:
+ description: Day of week (1-7), starting on Monday
+ Day of week (1-7), starting on Monday
+ type: number
+ hour:
+ description: Hour of day (0-23), ignored if day not
+ set Hour of day (0-23), ignored if day not set
+ type: number
+ updateTrack:
+ description: Receive updates earlier (canary) or later
+ (stable) Receive updates earlier (canary) or later
+ (stable)
+ type: string
+ type: object
+ type: array
+ passwordValidationPolicy:
+ items:
+ properties:
+ complexity:
+ description: Checks if the password is a combination
+ of lowercase, uppercase, numeric, and non-alphanumeric
+ characters. Password complexity.
+ type: string
+ disallowUsernameSubstring:
+ description: Prevents the use of the username in the
+ password. Disallow username as a part of the password.
+ type: boolean
+ enablePasswordPolicy:
+ description: Enables or disable the password validation
+ policy. Whether the password policy is enabled or
+ not.
+ type: boolean
+ minLength:
+ description: Specifies the minimum number of characters
+ that the password must have. Minimum number of characters
+ allowed.
+ type: number
+ passwordChangeInterval:
+ description: Specifies the minimum duration after
+ which you can change the password. Minimum interval
+ after which the password can be changed. This flag
+ is only supported for PostgresSQL.
+ type: string
+ reuseInterval:
+ description: Specifies the number of previous passwords
+ that you can't reuse. Number of previous passwords
+ that cannot be reused.
+ type: number
+ required:
+ - enablePasswordPolicy
+ type: object
+ type: array
+ pricingPlan:
+ description: Pricing plan for this instance, can only be
+ PER_USE. Pricing plan for this instance, can only be PER_USE.
+ type: string
+ sqlServerAuditConfig:
+ items:
+ properties:
+ bucket:
+ description: The name of the destination bucket (e.g.,
+ gs://mybucket). The name of the destination bucket
+ (e.g., gs://mybucket).
+ type: string
+ retentionInterval:
+ description: 'How long to keep generated audit files.
+ A duration in seconds with up to nine fractional
+ digits, terminated by ''s''. Example: "3.5s". How
+ long to keep generated audit files. A duration in
+ seconds with up to nine fractional digits, terminated
+ by ''s''. Example: "3.5s"..'
+ type: string
+ uploadInterval:
+ description: 'How often to upload generated audit
+ files. A duration in seconds with up to nine fractional
+ digits, terminated by ''s''. Example: "3.5s". How
+ often to upload generated audit files. A duration
+ in seconds with up to nine fractional digits, terminated
+ by ''s''. Example: "3.5s".'
+ type: string
+ type: object
+ type: array
+ tier:
+ description: The machine type to use. See tiers for more
+ details and supported versions. Postgres supports only
+ shared-core machine types, and custom machine types such
+ as db-custom-2-13312. See the Custom Machine Type Documentation
+ to learn about specifying custom machine types. The machine
+ type to use. See tiers for more details and supported
+ versions. Postgres supports only shared-core machine types,
+ and custom machine types such as db-custom-2-13312. See
+ the Custom Machine Type Documentation to learn about specifying
+ custom machine types.
+ type: string
+ timeZone:
+ description: The time_zone to be used by the database engine
+ (supported only for SQL Server), in SQL Server timezone
+ format. The time_zone to be used by the database engine
+ (supported only for SQL Server), in SQL Server timezone
+ format.
+ type: string
+ userLabels:
+ additionalProperties:
+ type: string
+ description: A set of key/value user label pairs to assign
+ to the instance. A set of key/value user label pairs to
+ assign to the instance.
+ type: object
+ required:
+ - tier
+ type: object
+ type: array
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: databaseVersion is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.databaseVersion)
+ status:
+ description: DatabaseInstanceStatus defines the observed state of DatabaseInstance.
+ properties:
+ atProvider:
+ properties:
+ availableMaintenanceVersions:
+ description: The list of all maintenance versions applicable on
+ the instance. Available Maintenance versions.
+ items:
+ type: string
+ type: array
+ clone:
+ description: The context needed to create this instance as a clone
+ of another instance. The configuration is detailed below. Configuration
+ for creating a new instance as a clone of another instance.
+ items:
+ properties:
+ allocatedIpRange:
+ description: 'The name of the allocated ip range for the
+ private ip CloudSQL instance. For example: "google-managed-services-default".
+ If set, the cloned instance ip will be created in the
+ allocated range. The range name must comply with RFC 1035.
+ Specifically, the name must be 1-63 characters long and
+ match the regular expression a-z?. The name of the allocated
+ ip range for the private ip CloudSQL instance. For example:
+ "google-managed-services-default". If set, the cloned
+ instance ip will be created in the allocated range. The
+ range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035).
+ Specifically, the name must be 1-63 characters long and
+ match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?.'
+ type: string
+ databaseNames:
+ description: (SQL Server only, use with point_in_time) Clone
+ only the specified databases from the source instance.
+ Clone all databases if empty. (SQL Server only, use with
+ point_in_time) clone only the specified databases from
+ the source instance. Clone all databases if empty.
+ items:
+ type: string
+ type: array
+ pointInTime:
+ description: The timestamp of the point in time that should
+ be restored. The timestamp of the point in time that should
+ be restored.
+ type: string
+ sourceInstanceName:
+ description: Name of the source instance which will be cloned.
+ The name of the instance from which the point in time
+ should be restored.
+ type: string
+ type: object
+ type: array
+ connectionName:
+ description: The connection name of the instance to be used in
+ connection strings. For example, when connecting with Cloud
+ SQL Proxy. The connection name of the instance to be used in
+ connection strings. For example, when connecting with Cloud
+ SQL Proxy.
+ type: string
+ databaseVersion:
+ description: The MySQL, PostgreSQL or SQL Server version to use.
+ Supported values include MYSQL_5_6, MYSQL_5_7, MYSQL_8_0, POSTGRES_9_6,POSTGRES_10,
+ POSTGRES_11, POSTGRES_12, POSTGRES_13, POSTGRES_14, SQLSERVER_2017_STANDARD,
+ SQLSERVER_2017_ENTERPRISE, SQLSERVER_2017_EXPRESS, SQLSERVER_2017_WEB.
+ SQLSERVER_2019_STANDARD, SQLSERVER_2019_ENTERPRISE, SQLSERVER_2019_EXPRESS,
+ SQLSERVER_2019_WEB. Database Version Policies includes an up-to-date
+ reference of supported versions. The MySQL, PostgreSQL or SQL
+ Server (beta) version to use. Supported values include MYSQL_5_6,
+ MYSQL_5_7, MYSQL_8_0, POSTGRES_9_6, POSTGRES_10, POSTGRES_11,
+ POSTGRES_12, POSTGRES_13, POSTGRES_14, SQLSERVER_2017_STANDARD,
+ SQLSERVER_2017_ENTERPRISE, SQLSERVER_2017_EXPRESS, SQLSERVER_2017_WEB.
+ Database Version Policies includes an up-to-date reference of
+ supported versions.
+ type: string
+ deletionProtection:
+ description: Defaults to true. Defaults to true.
+ type: boolean
+ encryptionKeyName:
+ description: The full path to the encryption key used for the
+ CMEK disk encryption. The provided key must be in the same region
+ as the SQL instance. In order to use this feature, a special
+ kind of service account must be created and granted permission
+ on this key. This step can currently only be done manually,
+ please see this step. That service account needs the Cloud KMS
+ > Cloud KMS CryptoKey Encrypter/Decrypter role on your key -
+ please see this step.
+ type: string
+ firstIpAddress:
+ description: The first IPv4 address of any type assigned. The
+ first IPv4 address of any type assigned.
+ type: string
+ id:
+ type: string
+ instanceType:
+ description: The type of the instance. The supported values are
+ SQL_INSTANCE_TYPE_UNSPECIFIED, CLOUD_SQL_INSTANCE, ON_PREMISES_INSTANCE
+ and READ_REPLICA_INSTANCE. The type of the instance. The valid
+ values are:- 'SQL_INSTANCE_TYPE_UNSPECIFIED', 'CLOUD_SQL_INSTANCE',
+ 'ON_PREMISES_INSTANCE' and 'READ_REPLICA_INSTANCE'.
+ type: string
+ ipAddress:
+ description: The IPv4 address assigned.
+ items:
+ properties:
+ ipAddress:
+ description: The IPv4 address assigned.
+ type: string
+ timeToRetire:
+ description: The time this IP address will be retired, in
+ RFC 3339 format.
+ type: string
+ type:
+ description: The type of this IP address.
+ type: string
+ type: object
+ type: array
+ maintenanceVersion:
+ description: The current software version on the instance. This
+ attribute can not be set during creation. Refer to available_maintenance_versions
+ attribute to see what maintenance_version are available for
+ upgrade. When this attribute gets updated, it will cause an
+ instance restart. Setting a maintenance_version value that is
+ older than the current one on the instance will be ignored.
+ Maintenance version.
+ type: string
+ masterInstanceName:
+ description: The name of the existing instance that will act as
+ the master in the replication setup. Note, this requires the
+ master to have binary_log_enabled set, as well as existing backups.
+ The name of the instance that will act as the master in the
+ replication setup. Note, this requires the master to have binary_log_enabled
+ set, as well as existing backups.
+ type: string
+ privateIpAddress:
+ description: The first private (PRIVATE) IPv4 address assigned.
+ IPv4 address assigned.
+ type: string
+ project:
+ description: The ID of the project in which the resource belongs.
+ If it is not provided, the provider project is used. The ID
+ of the project in which the resource belongs. If it is not provided,
+ the provider project is used.
+ type: string
+ publicIpAddress:
+ description: The first public (PRIMARY) IPv4 address assigned.
+ IPv4 address assigned.
+ type: string
+ region:
+ description: The region the instance will sit in. If a region
+ is not provided in the resource definition, the provider region
+ will be used instead. The region the instance will sit in. Note,
+ Cloud SQL is not available in all regions. A valid region must
+ be provided to use this resource. If a region is not provided
+ in the resource definition, the provider region will be used
+ instead, but this will be an apply-time error for instances
+ if the provider region is not supported with Cloud SQL. If you
+ choose not to provide the region argument for this resource,
+ make sure you understand this.
+ type: string
+ replicaConfiguration:
+ description: The configuration for replication. The configuration
+ is detailed below. Valid only for MySQL instances. The configuration
+ for replication.
+ items:
+ properties:
+ caCertificate:
+ description: PEM representation of the trusted CA's x509
+ certificate. PEM representation of the trusted CA's x509
+ certificate.
+ type: string
+ clientCertificate:
+ description: PEM representation of the replica's x509 certificate.
+ PEM representation of the replica's x509 certificate.
+ type: string
+ clientKey:
+ description: PEM representation of the replica's private
+ key. The corresponding public key in encoded in the client_certificate.
+ PEM representation of the replica's private key. The corresponding
+ public key in encoded in the client_certificate.
+ type: string
+ connectRetryInterval:
+ description: The number of seconds between connect retries.
+ MySQL's default is 60 seconds. The number of seconds between
+ connect retries. MySQL's default is 60 seconds.
+ type: number
+ dumpFilePath:
+ description: Path to a SQL file in GCS from which replica
+ instances are created. Format is gs://bucket/filename.
+ Path to a SQL file in Google Cloud Storage from which
+ replica instances are created. Format is gs://bucket/filename.
+ type: string
+ failoverTarget:
+ description: Specifies if the replica is the failover target.
+ If the field is set to true the replica will be designated
+ as a failover replica. If the master instance fails, the
+ replica instance will be promoted as the new master instance.
+ Specifies if the replica is the failover target. If the
+ field is set to true the replica will be designated as
+ a failover replica. If the master instance fails, the
+ replica instance will be promoted as the new master instance.
+ type: boolean
+ masterHeartbeatPeriod:
+ description: Time in ms between replication heartbeats.
+ Time in ms between replication heartbeats.
+ type: number
+ sslCipher:
+ description: Permissible ciphers for use in SSL encryption.
+ type: string
+ username:
+ description: Username for replication connection. Username
+ for replication connection.
+ type: string
+ verifyServerCertificate:
+ description: True if the master's common name value is checked
+ during the SSL handshake. True if the master's common
+ name value is checked during the SSL handshake.
+ type: boolean
+ type: object
+ type: array
+ restoreBackupContext:
+ description: The context needed to restore the database to a backup
+ run. The configuration is detailed below. Adding or modifying
+ this block during resource creation/update will trigger the
+ restore action after the resource is created/updated.
+ items:
+ properties:
+ backupRunId:
+ description: The ID of the backup run to restore from. The
+ ID of the backup run to restore from.
+ type: number
+ instanceId:
+ description: The ID of the instance that the backup was
+ taken from. If left empty, this instance's ID will be
+ used. The ID of the instance that the backup was taken
+ from.
+ type: string
+ project:
+ description: The full project ID of the source instance.`
+ The full project ID of the source instance.
+ type: string
+ type: object
+ type: array
+ selfLink:
+ description: The URI of the created resource. The URI of the created
+ resource.
+ type: string
+ serverCaCert:
+ items:
+ properties:
+ cert:
+ description: The CA Certificate used to connect to the SQL
+ Instance via SSL.
+ type: string
+ commonName:
+ description: The CN valid for the CA Cert.
+ type: string
+ createTime:
+ description: Creation time of the CA Cert.
+ type: string
+ expirationTime:
+ description: The RFC 3339 formatted date time string indicating
+ when this whitelist expires.
+ type: string
+ sha1Fingerprint:
+ description: SHA Fingerprint of the CA Cert.
+ type: string
+ type: object
+ type: array
+ serviceAccountEmailAddress:
+ description: The service account email address assigned to the
+ instance. The service account email address assigned to the
+ instance.
+ type: string
+ settings:
+ description: The settings to use for the database. The configuration
+ is detailed below. Required if clone is not set. The settings
+ to use for the database. The configuration is detailed below.
+ items:
+ properties:
+ activationPolicy:
+ description: This specifies when the instance should be
+ active. Can be either ALWAYS, NEVER or ON_DEMAND. This
+ specifies when the instance should be active. Can be either
+ ALWAYS, NEVER or ON_DEMAND.
+ type: string
+ activeDirectoryConfig:
+ items:
+ properties:
+ domain:
+ description: The domain name for the active directory
+ (e.g., mydomain.com). Can only be used with SQL
+ Server. Domain name of the Active Directory for
+ SQL Server (e.g., mydomain.com).
+ type: string
+ type: object
+ type: array
+ advancedMachineFeatures:
+ items:
+ properties:
+ threadsPerCore:
+ description: The number of threads per core. The value
+ of this flag can be 1 or 2. To disable SMT, set
+ this flag to 1. Only available in Cloud SQL for
+ SQL Server instances. See smt for more details.
+ The number of threads per physical core. Can be
+ 1 or 2.
+ type: number
+ type: object
+ type: array
+ availabilityType:
+ description: The availability type of the Cloud SQL instance,
+ high availability (REGIONAL) or single zone (ZONAL).'
+ For all instances, ensure that settings.backup_configuration.enabled
+ is set to true. For MySQL instances, ensure that settings.backup_configuration.binary_log_enabled
+ is set to true. For Postgres and SQL Server instances,
+ ensure that settings.backup_configuration.point_in_time_recovery_enabled
+ is set to true. Defaults to ZONAL. The availability type
+ of the Cloud SQL instance, high availability (REGIONAL)
+ or single zone (ZONAL). For all instances, ensure that
+ settings.backup_configuration.enabled is set to true.
+ For MySQL instances, ensure that settings.backup_configuration.binary_log_enabled
+ is set to true. For Postgres instances, ensure that settings.backup_configuration.point_in_time_recovery_enabled
+ is set to true. Defaults to ZONAL.
+ type: string
+ backupConfiguration:
+ items:
+ properties:
+ backupRetentionSettings:
+ description: Backup retention settings. The configuration
+ is detailed below.
+ items:
+ properties:
+ retainedBackups:
+ description: Depending on the value of retention_unit,
+ this is used to determine if a backup needs
+ to be deleted. If retention_unit is 'COUNT',
+ we will retain this many backups. Number of
+ backups to retain.
+ type: number
+ retentionUnit:
+ description: The unit that 'retained_backups'
+ represents. Defaults to COUNT. The unit that
+ 'retainedBackups' represents. Defaults to
+ COUNT
+ type: string
+ type: object
+ type: array
+ binaryLogEnabled:
+ description: True if binary logging is enabled. Can
+ only be used with MySQL. True if binary logging
+ is enabled. If settings.backup_configuration.enabled
+ is false, this must be as well. Can only be used
+ with MySQL.
+ type: boolean
+ enabled:
+ description: True if backup configuration is enabled.
+ True if backup configuration is enabled.
+ type: boolean
+ location:
+ description: The region where the backup will be stored
+ Location of the backup configuration.
+ type: string
+ pointInTimeRecoveryEnabled:
+ description: True if Point-in-time recovery is enabled.
+ Will restart database if enabled after instance
+ creation. Valid only for PostgreSQL and SQL Server
+ instances. True if Point-in-time recovery is enabled.
+ type: boolean
+ startTime:
+ description: HH:MM format time indicating when backup
+ configuration starts. HH:MM format time indicating
+ when backup configuration starts.
+ type: string
+ transactionLogRetentionDays:
+ description: The number of days of transaction logs
+ we retain for point in time restore, from 1-7. The
+ number of days of transaction logs we retain for
+ point in time restore, from 1-7.
+ type: number
+ type: object
+ type: array
+ collation:
+ description: The name of server instance collation. The
+ name of server instance collation.
+ type: string
+ connectorEnforcement:
+ description: Specifies if connections must use Cloud SQL
+ connectors. Specifies if connections must use Cloud SQL
+ connectors.
+ type: string
+ databaseFlags:
+ items:
+ properties:
+ name:
+ description: A name for this whitelist entry. Name
+ of the flag.
+ type: string
+ value:
+ description: A CIDR notation IPv4 or IPv6 address
+ that is allowed to access this instance. Must be
+ set even if other two attributes are not for the
+ whitelist to become active. Value of the flag.
+ type: string
+ type: object
+ type: array
+ deletionProtectionEnabled:
+ description: . Configuration to protect against accidental
+ instance deletion.
+ type: boolean
+ denyMaintenancePeriod:
+ items:
+ properties:
+ endDate:
+ description: '"deny maintenance period" end date.
+ If the year of the end date is empty, the year of
+ the start date also must be empty. In this case,
+ it means the no maintenance interval recurs every
+ year. The date is in format yyyy-mm-dd i.e., 2020-11-01,
+ or mm-dd, i.e., 11-01 End date before which maintenance
+ will not take place. The date is in format yyyy-mm-dd
+ i.e., 2020-11-01, or mm-dd, i.e., 11-01'
+ type: string
+ startDate:
+ description: '"deny maintenance period" start date.
+ If the year of the start date is empty, the year
+ of the end date also must be empty. In this case,
+ it means the deny maintenance period recurs every
+ year. The date is in format yyyy-mm-dd i.e., 2020-11-01,
+ or mm-dd, i.e., 11-01 Start date after which maintenance
+ will not take place. The date is in format yyyy-mm-dd
+ i.e., 2020-11-01, or mm-dd, i.e., 11-01'
+ type: string
+ time:
+ description: 'Time in UTC when the "deny maintenance
+ period" starts on startDate and ends on endDate.
+ The time is in format: HH:mm:SS, i.e., 00:00:00
+ Time in UTC when the "deny maintenance period" starts
+ on start_date and ends on end_date. The time is
+ in format: HH:mm:SS, i.e., 00:00:00'
+ type: string
+ type: object
+ type: array
+ diskAutoresize:
+ description: Enables auto-resizing of the storage size.
+ Defaults to true. Enables auto-resizing of the storage
+ size. Defaults to true.
+ type: boolean
+ diskAutoresizeLimit:
+ description: The maximum size to which storage capacity
+ can be automatically increased. The default value is 0,
+ which specifies that there is no limit. The maximum size,
+ in GB, to which storage capacity can be automatically
+ increased. The default value is 0, which specifies that
+ there is no limit.
+ type: number
+ diskSize:
+ description: The size of data disk, in GB. Size of a running
+ instance cannot be reduced but can be increased. The minimum
+ value is 10GB. The size of data disk, in GB. Size of a
+ running instance cannot be reduced but can be increased.
+ The minimum value is 10GB.
+ type: number
+ diskType:
+ description: 'The type of data disk: PD_SSD or PD_HDD. Defaults
+ to PD_SSD. The type of data disk: PD_SSD or PD_HDD. Defaults
+ to PD_SSD.'
+ type: string
+ insightsConfig:
+ description: Configuration of Query Insights.
+ items:
+ properties:
+ queryInsightsEnabled:
+ description: True if Query Insights feature is enabled.
+ True if Query Insights feature is enabled.
+ type: boolean
+ queryPlansPerMinute:
+ description: Number of query execution plans captured
+ by Insights per minute for all queries combined.
+ Between 0 and 20. Default to 5. Number of query
+ execution plans captured by Insights per minute
+ for all queries combined. Between 0 and 20. Default
+ to 5.
+ type: number
+ queryStringLength:
+ description: Maximum query length stored in bytes.
+ Between 256 and 4500. Default to 1024. Higher query
+ lengths are more useful for analytical queries,
+ but they also require more memory. Changing the
+ query length requires you to restart the instance.
+ You can still add tags to queries that exceed the
+ length limit. Maximum query length stored in bytes.
+ Between 256 and 4500. Default to 1024.
+ type: number
+ recordApplicationTags:
+ description: True if Query Insights will record application
+ tags from query when enabled. True if Query Insights
+ will record application tags from query when enabled.
+ type: boolean
+ recordClientAddress:
+ description: True if Query Insights will record client
+ address when enabled. True if Query Insights will
+ record client address when enabled.
+ type: boolean
+ type: object
+ type: array
+ ipConfiguration:
+ items:
+ properties:
+ allocatedIpRange:
+ description: 'The name of the allocated ip range for
+ the private ip CloudSQL instance. For example: "google-managed-services-default".
+ If set, the instance ip will be created in the allocated
+ range. The range name must comply with RFC 1035.
+ Specifically, the name must be 1-63 characters long
+ and match the regular expression a-z?. The name
+ of the allocated ip range for the private ip CloudSQL
+ instance. For example: "google-managed-services-default".
+ If set, the instance ip will be created in the allocated
+ range. The range name must comply with RFC 1035.
+ Specifically, the name must be 1-63 characters long
+ and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?.'
+ type: string
+ authorizedNetworks:
+ items:
+ properties:
+ expirationTime:
+ description: The RFC 3339 formatted date time
+ string indicating when this whitelist expires.
+ type: string
+ name:
+ description: A name for this whitelist entry.
+ type: string
+ value:
+ description: A CIDR notation IPv4 or IPv6 address
+ that is allowed to access this instance. Must
+ be set even if other two attributes are not
+ for the whitelist to become active.
+ type: string
+ type: object
+ type: array
+ enablePrivatePathForGoogleCloudServices:
+ description: Whether Google Cloud services such as
+ BigQuery are allowed to access data in this Cloud
+ SQL instance over a private IP connection. SQLSERVER
+ database type is not supported. Whether Google Cloud
+ services such as BigQuery are allowed to access
+ data in this Cloud SQL instance over a private IP
+ connection. SQLSERVER database type is not supported.
+ type: boolean
+ ipv4Enabled:
+ description: Whether this Cloud SQL instance should
+ be assigned a public IPV4 address. At least ipv4_enabled
+ must be enabled or a private_network must be configured.
+ Whether this Cloud SQL instance should be assigned
+ a public IPV4 address. At least ipv4_enabled must
+ be enabled or a private_network must be configured.
+ type: boolean
+ privateNetwork:
+ description: The VPC network from which the Cloud
+ SQL instance is accessible for private IP. For example, projects/myProject/global/networks/default.
+ Specifying a network enables private IP. At least
+ ipv4_enabled must be enabled or a private_network
+ must be configured. This setting can be updated,
+ but it cannot be removed after it is set. The VPC
+ network from which the Cloud SQL instance is accessible
+ for private IP. For example, projects/myProject/global/networks/default.
+ Specifying a network enables private IP. At least
+ ipv4_enabled must be enabled or a private_network
+ must be configured. This setting can be updated,
+ but it cannot be removed after it is set.
+ type: string
+ requireSsl:
+ description: Whether SSL connections over IP are enforced
+ or not.
+ type: boolean
+ type: object
+ type: array
+ locationPreference:
+ items:
+ properties:
+ followGaeApplication:
+ description: A GAE application whose zone to remain
+ in. Must be in the same region as this instance.
+ A Google App Engine application whose zone to remain
+ in. Must be in the same region as this instance.
+ type: string
+ secondaryZone:
+ description: The preferred Compute Engine zone for
+ the secondary/failover. The preferred Compute Engine
+ zone for the secondary/failover
+ type: string
+ zone:
+ description: The preferred compute engine zone. The
+ preferred compute engine zone.
+ type: string
+ type: object
+ type: array
+ maintenanceWindow:
+ description: Declares a one-hour maintenance window when
+ an Instance can automatically restart to apply updates.
+ The maintenance window is specified in UTC time.
+ items:
+ properties:
+ day:
+ description: Day of week (1-7), starting on Monday
+ Day of week (1-7), starting on Monday
+ type: number
+ hour:
+ description: Hour of day (0-23), ignored if day not
+ set Hour of day (0-23), ignored if day not set
+ type: number
+ updateTrack:
+ description: Receive updates earlier (canary) or later
+ (stable) Receive updates earlier (canary) or later
+ (stable)
+ type: string
+ type: object
+ type: array
+ passwordValidationPolicy:
+ items:
+ properties:
+ complexity:
+ description: Checks if the password is a combination
+ of lowercase, uppercase, numeric, and non-alphanumeric
+ characters. Password complexity.
+ type: string
+ disallowUsernameSubstring:
+ description: Prevents the use of the username in the
+ password. Disallow username as a part of the password.
+ type: boolean
+ enablePasswordPolicy:
+ description: Enables or disable the password validation
+ policy. Whether the password policy is enabled or
+ not.
+ type: boolean
+ minLength:
+ description: Specifies the minimum number of characters
+ that the password must have. Minimum number of characters
+ allowed.
+ type: number
+ passwordChangeInterval:
+ description: Specifies the minimum duration after
+ which you can change the password. Minimum interval
+ after which the password can be changed. This flag
+ is only supported for PostgresSQL.
+ type: string
+ reuseInterval:
+ description: Specifies the number of previous passwords
+ that you can't reuse. Number of previous passwords
+ that cannot be reused.
+ type: number
+ type: object
+ type: array
+ pricingPlan:
+ description: Pricing plan for this instance, can only be
+ PER_USE. Pricing plan for this instance, can only be PER_USE.
+ type: string
+ sqlServerAuditConfig:
+ items:
+ properties:
+ bucket:
+ description: The name of the destination bucket (e.g.,
+ gs://mybucket). The name of the destination bucket
+ (e.g., gs://mybucket).
+ type: string
+ retentionInterval:
+ description: 'How long to keep generated audit files.
+ A duration in seconds with up to nine fractional
+ digits, terminated by ''s''. Example: "3.5s". How
+ long to keep generated audit files. A duration in
+ seconds with up to nine fractional digits, terminated
+ by ''s''. Example: "3.5s"..'
+ type: string
+ uploadInterval:
+ description: 'How often to upload generated audit
+ files. A duration in seconds with up to nine fractional
+ digits, terminated by ''s''. Example: "3.5s". How
+ often to upload generated audit files. A duration
+ in seconds with up to nine fractional digits, terminated
+ by ''s''. Example: "3.5s".'
+ type: string
+ type: object
+ type: array
+ tier:
+ description: The machine type to use. See tiers for more
+ details and supported versions. Postgres supports only
+ shared-core machine types, and custom machine types such
+ as db-custom-2-13312. See the Custom Machine Type Documentation
+ to learn about specifying custom machine types. The machine
+ type to use. See tiers for more details and supported
+ versions. Postgres supports only shared-core machine types,
+ and custom machine types such as db-custom-2-13312. See
+ the Custom Machine Type Documentation to learn about specifying
+ custom machine types.
+ type: string
+ timeZone:
+ description: The time_zone to be used by the database engine
+ (supported only for SQL Server), in SQL Server timezone
+ format. The time_zone to be used by the database engine
+ (supported only for SQL Server), in SQL Server timezone
+ format.
+ type: string
+ userLabels:
+ additionalProperties:
+ type: string
+ description: A set of key/value user label pairs to assign
+ to the instance. A set of key/value user label pairs to
+ assign to the instance.
+ type: object
+ version:
+ description: Used to make sure changes to the settings block
+ are atomic. Used to make sure changes to the settings
+ block are atomic.
+ type: number
+ type: object
+ type: array
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_databases.yaml b/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_databases.yaml
new file mode 100644
index 000000000..b2be72a7c
--- /dev/null
+++ b/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_databases.yaml
@@ -0,0 +1,466 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: databases.sql.gcp.kubedb.com
+spec:
+ group: sql.gcp.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - gcp
+ kind: Database
+ listKind: DatabaseList
+ plural: databases
+ singular: database
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Database is the Schema for the Databases API. Represents a SQL
+ database inside the Cloud SQL instance, hosted in Google's cloud.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: DatabaseSpec defines the desired state of Database
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ charset:
+ description: The charset value. See MySQL's Supported Character
+ Sets and Collations and Postgres' Character Set Support for
+ more details and supported values. Postgres databases only support
+ a value of UTF8 at creation time. The charset value. See MySQL's
+ [Supported Character Sets and Collations](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html)
+ and Postgres' [Character Set Support](https://www.postgresql.org/docs/9.6/static/multibyte.html)
+ for more details and supported values. Postgres databases only
+ support a value of 'UTF8' at creation time.
+ type: string
+ collation:
+ description: The collation value. See MySQL's Supported Character
+ Sets and Collations and Postgres' Collation Support for more
+ details and supported values. Postgres databases only support
+ a value of en_US.UTF8 at creation time. The collation value.
+ See MySQL's [Supported Character Sets and Collations](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html)
+ and Postgres' [Collation Support](https://www.postgresql.org/docs/9.6/static/collation.html)
+ for more details and supported values. Postgres databases only
+ support a value of 'en_US.UTF8' at creation time.
+ type: string
+ deletionPolicy:
+ description: 'The deletion policy for the database. Setting ABANDON
+ allows the resource to be abandoned rather than deleted. This
+ is useful for Postgres, where databases cannot be deleted from
+ the API if there are users other than cloudsqlsuperuser with
+ access. Possible values are: "ABANDON", "DELETE". Defaults to
+ "DELETE". The deletion policy for the database. Setting ABANDON
+ allows the resource to be abandoned rather than deleted. This
+ is useful for Postgres, where databases cannot be deleted from
+ the API if there are users other than cloudsqlsuperuser with
+ access. Possible values are: "ABANDON", "DELETE". Defaults to
+ "DELETE".'
+ type: string
+ instance:
+ description: The name of the Cloud SQL instance. This does not
+ include the project ID. The name of the Cloud SQL instance.
+ This does not include the project ID.
+ type: string
+ instanceRef:
+ description: Reference to a DatabaseInstance to populate instance.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ instanceSelector:
+ description: Selector for a DatabaseInstance to populate instance.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ project:
+ description: The ID of the project in which the resource belongs.
+ If it is not provided, the provider project is used.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ status:
+ description: DatabaseStatus defines the observed state of Database.
+ properties:
+ atProvider:
+ properties:
+ charset:
+ description: The charset value. See MySQL's Supported Character
+ Sets and Collations and Postgres' Character Set Support for
+ more details and supported values. Postgres databases only support
+ a value of UTF8 at creation time. The charset value. See MySQL's
+ [Supported Character Sets and Collations](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html)
+ and Postgres' [Character Set Support](https://www.postgresql.org/docs/9.6/static/multibyte.html)
+ for more details and supported values. Postgres databases only
+ support a value of 'UTF8' at creation time.
+ type: string
+ collation:
+ description: The collation value. See MySQL's Supported Character
+ Sets and Collations and Postgres' Collation Support for more
+ details and supported values. Postgres databases only support
+ a value of en_US.UTF8 at creation time. The collation value.
+ See MySQL's [Supported Character Sets and Collations](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html)
+ and Postgres' [Collation Support](https://www.postgresql.org/docs/9.6/static/collation.html)
+ for more details and supported values. Postgres databases only
+ support a value of 'en_US.UTF8' at creation time.
+ type: string
+ deletionPolicy:
+ description: 'The deletion policy for the database. Setting ABANDON
+ allows the resource to be abandoned rather than deleted. This
+ is useful for Postgres, where databases cannot be deleted from
+ the API if there are users other than cloudsqlsuperuser with
+ access. Possible values are: "ABANDON", "DELETE". Defaults to
+ "DELETE". The deletion policy for the database. Setting ABANDON
+ allows the resource to be abandoned rather than deleted. This
+ is useful for Postgres, where databases cannot be deleted from
+ the API if there are users other than cloudsqlsuperuser with
+ access. Possible values are: "ABANDON", "DELETE". Defaults to
+ "DELETE".'
+ type: string
+ id:
+ description: an identifier for the resource with format projects/{{project}}/instances/{{instance}}/databases/{{name}}
+ type: string
+ instance:
+ description: The name of the Cloud SQL instance. This does not
+ include the project ID. The name of the Cloud SQL instance.
+ This does not include the project ID.
+ type: string
+ project:
+ description: The ID of the project in which the resource belongs.
+ If it is not provided, the provider project is used.
+ type: string
+ selfLink:
+ description: The URI of the created resource.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_sourcerepresentationinstances.yaml b/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_sourcerepresentationinstances.yaml
new file mode 100644
index 000000000..2ec7c5903
--- /dev/null
+++ b/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_sourcerepresentationinstances.yaml
@@ -0,0 +1,451 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: sourcerepresentationinstances.sql.gcp.kubedb.com
+spec:
+ group: sql.gcp.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - gcp
+ kind: SourceRepresentationInstance
+ listKind: SourceRepresentationInstanceList
+ plural: sourcerepresentationinstances
+ singular: sourcerepresentationinstance
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: SourceRepresentationInstance is the Schema for the SourceRepresentationInstances
+ API. A source representation instance is a Cloud SQL instance that represents
+ the source database server to the Cloud SQL replica.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SourceRepresentationInstanceSpec defines the desired state
+ of SourceRepresentationInstance
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ caCertificate:
+ description: The CA certificate on the external server. Include
+ only if SSL/TLS is used on the external server. The CA certificate
+ on the external server. Include only if SSL/TLS is used on the
+ external server.
+ type: string
+ clientCertificate:
+ description: The client certificate on the external server. Required
+ only for server-client authentication. Include only if SSL/TLS
+ is used on the external server. The client certificate on the
+ external server. Required only for server-client authentication.
+ Include only if SSL/TLS is used on the external server.
+ type: string
+ clientKey:
+ description: The private key file for the client certificate on
+ the external server. Required only for server-client authentication.
+ Include only if SSL/TLS is used on the external server. The
+ private key file for the client certificate on the external
+ server. Required only for server-client authentication. Include
+ only if SSL/TLS is used on the external server.
+ type: string
+ databaseVersion:
+ description: 'The MySQL version running on your source database
+ server. Possible values are: MYSQL_5_6, MYSQL_5_7, MYSQL_8_0,
+ POSTGRES_9_6, POSTGRES_10, POSTGRES_11, POSTGRES_12, POSTGRES_13,
+ POSTGRES_14. The MySQL version running on your source database
+ server. Possible values: ["MYSQL_5_6", "MYSQL_5_7", "MYSQL_8_0",
+ "POSTGRES_9_6", "POSTGRES_10", "POSTGRES_11", "POSTGRES_12",
+ "POSTGRES_13", "POSTGRES_14"]'
+ type: string
+ dumpFilePath:
+ description: A file in the bucket that contains the data from
+ the external server. A file in the bucket that contains the
+ data from the external server.
+ type: string
+ host:
+ description: The externally accessible IPv4 address for the source
+ database server. The externally accessible IPv4 address for
+ the source database server.
+ type: string
+ passwordSecretRef:
+ description: 'The password for the replication user account. Note:
+ This property is sensitive and will not be displayed in the
+ plan. The password for the replication user account.'
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ port:
+ description: The externally accessible port for the source database
+ server. Defaults to 3306. The externally accessible port for
+ the source database server. Defaults to 3306.
+ type: number
+ project:
+ description: The ID of the project in which the resource belongs.
+ If it is not provided, the provider project is used.
+ type: string
+ region:
+ description: The Region in which the created instance should reside.
+ If it is not provided, the provider region is used. The Region
+ in which the created instance should reside. If it is not provided,
+ the provider region is used.
+ type: string
+ username:
+ description: The replication user account on the external server.
+ The replication user account on the external server.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: databaseVersion is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.databaseVersion)
+ - message: host is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.host)
+ status:
+ description: SourceRepresentationInstanceStatus defines the observed state
+ of SourceRepresentationInstance.
+ properties:
+ atProvider:
+ properties:
+ caCertificate:
+ description: The CA certificate on the external server. Include
+ only if SSL/TLS is used on the external server. The CA certificate
+ on the external server. Include only if SSL/TLS is used on the
+ external server.
+ type: string
+ clientCertificate:
+ description: The client certificate on the external server. Required
+ only for server-client authentication. Include only if SSL/TLS
+ is used on the external server. The client certificate on the
+ external server. Required only for server-client authentication.
+ Include only if SSL/TLS is used on the external server.
+ type: string
+ clientKey:
+ description: The private key file for the client certificate on
+ the external server. Required only for server-client authentication.
+ Include only if SSL/TLS is used on the external server. The
+ private key file for the client certificate on the external
+ server. Required only for server-client authentication. Include
+ only if SSL/TLS is used on the external server.
+ type: string
+ databaseVersion:
+ description: 'The MySQL version running on your source database
+ server. Possible values are: MYSQL_5_6, MYSQL_5_7, MYSQL_8_0,
+ POSTGRES_9_6, POSTGRES_10, POSTGRES_11, POSTGRES_12, POSTGRES_13,
+ POSTGRES_14. The MySQL version running on your source database
+ server. Possible values: ["MYSQL_5_6", "MYSQL_5_7", "MYSQL_8_0",
+ "POSTGRES_9_6", "POSTGRES_10", "POSTGRES_11", "POSTGRES_12",
+ "POSTGRES_13", "POSTGRES_14"]'
+ type: string
+ dumpFilePath:
+ description: A file in the bucket that contains the data from
+ the external server. A file in the bucket that contains the
+ data from the external server.
+ type: string
+ host:
+ description: The externally accessible IPv4 address for the source
+ database server. The externally accessible IPv4 address for
+ the source database server.
+ type: string
+ id:
+ description: an identifier for the resource with format projects/{{project}}/instances/{{name}}
+ type: string
+ port:
+ description: The externally accessible port for the source database
+ server. Defaults to 3306. The externally accessible port for
+ the source database server. Defaults to 3306.
+ type: number
+ project:
+ description: The ID of the project in which the resource belongs.
+ If it is not provided, the provider project is used.
+ type: string
+ region:
+ description: The Region in which the created instance should reside.
+ If it is not provided, the provider region is used. The Region
+ in which the created instance should reside. If it is not provided,
+ the provider region is used.
+ type: string
+ username:
+ description: The replication user account on the external server.
+ The replication user account on the external server.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_sslcerts.yaml b/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_sslcerts.yaml
new file mode 100644
index 000000000..2f0ad0723
--- /dev/null
+++ b/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_sslcerts.yaml
@@ -0,0 +1,447 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: sslcerts.sql.gcp.kubedb.com
+spec:
+ group: sql.gcp.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - gcp
+ kind: SSLCert
+ listKind: SSLCertList
+ plural: sslcerts
+ singular: sslcert
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: SSLCert is the Schema for the SSLCerts API. Creates a new SQL
+ Ssl Cert in Google Cloud SQL.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SSLCertSpec defines the desired state of SSLCert
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ commonName:
+ description: The common name to be used in the certificate to
+ identify the client. Constrained to [a-zA-Z.-_ ]+. Changing
+ this forces a new resource to be created. The common name to
+ be used in the certificate to identify the client. Constrained
+ to [a-zA-Z.-_ ]+. Changing this forces a new resource to be
+ created.
+ type: string
+ instance:
+ description: The name of the Cloud SQL instance. Changing this
+ forces a new resource to be created. The name of the Cloud SQL
+ instance. Changing this forces a new resource to be created.
+ type: string
+ instanceRef:
+ description: Reference to a DatabaseInstance to populate instance.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ instanceSelector:
+ description: Selector for a DatabaseInstance to populate instance.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ project:
+ description: The ID of the project in which the resource belongs.
+ If it is not provided, the provider project is used. The ID
+ of the project in which the resource belongs. If it is not provided,
+ the provider project is used.
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ x-kubernetes-validations:
+ - message: commonName is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.commonName)
+ status:
+ description: SSLCertStatus defines the observed state of SSLCert.
+ properties:
+ atProvider:
+ properties:
+ cert:
+ description: The actual certificate data for this client certificate.
+ The actual certificate data for this client certificate.
+ type: string
+ certSerialNumber:
+ description: The serial number extracted from the certificate
+ data. The serial number extracted from the certificate data.
+ type: string
+ commonName:
+ description: The common name to be used in the certificate to
+ identify the client. Constrained to [a-zA-Z.-_ ]+. Changing
+ this forces a new resource to be created. The common name to
+ be used in the certificate to identify the client. Constrained
+ to [a-zA-Z.-_ ]+. Changing this forces a new resource to be
+ created.
+ type: string
+ createTime:
+ description: The time when the certificate was created in RFC
+ 3339 format, for example 2012-11-15T16:19:00.094Z. The time
+ when the certificate was created in RFC 3339 format, for example
+ 2012-11-15T16:19:00.094Z.
+ type: string
+ expirationTime:
+ description: The time when the certificate expires in RFC 3339
+ format, for example 2012-11-15T16:19:00.094Z. The time when
+ the certificate expires in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
+ type: string
+ id:
+ type: string
+ instance:
+ description: The name of the Cloud SQL instance. Changing this
+ forces a new resource to be created. The name of the Cloud SQL
+ instance. Changing this forces a new resource to be created.
+ type: string
+ project:
+ description: The ID of the project in which the resource belongs.
+ If it is not provided, the provider project is used. The ID
+ of the project in which the resource belongs. If it is not provided,
+ the provider project is used.
+ type: string
+ serverCaCert:
+ description: The CA cert of the server this client cert was generated
+ from. The CA cert of the server this client cert was generated
+ from.
+ type: string
+ sha1Fingerprint:
+ description: The SHA1 Fingerprint of the certificate. The SHA1
+ Fingerprint of the certificate.
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_users.yaml b/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_users.yaml
new file mode 100644
index 000000000..48282ed1e
--- /dev/null
+++ b/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_users.yaml
@@ -0,0 +1,559 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.11.3
+ creationTimestamp: null
+ name: users.sql.gcp.kubedb.com
+spec:
+ group: sql.gcp.kubedb.com
+ names:
+ categories:
+ - crossplane
+ - managed
+ - gcp
+ kind: User
+ listKind: UserList
+ plural: users
+ singular: user
+ scope: Cluster
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .status.conditions[?(@.type=='Ready')].status
+ name: READY
+ type: string
+ - jsonPath: .status.conditions[?(@.type=='Synced')].status
+ name: SYNCED
+ type: string
+ - jsonPath: .metadata.annotations.crossplane\.io/external-name
+ name: EXTERNAL-NAME
+ type: string
+ - jsonPath: .metadata.creationTimestamp
+ name: AGE
+ type: date
+ name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: User is the Schema for the Users API. Creates a new SQL user
+ in Google Cloud SQL.
+ 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'
+ 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'
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: UserSpec defines the desired state of User
+ properties:
+ deletionPolicy:
+ default: Delete
+ description: 'DeletionPolicy specifies what will happen to the underlying
+ external when this managed resource is deleted - either "Delete"
+ or "Orphan" the external resource. This field is planned to be deprecated
+ in favor of the ManagementPolicy field in a future release. Currently,
+ both could be set independently and non-default values would be
+ honored if the feature flag is enabled. See the design doc for more
+ information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - Orphan
+ - Delete
+ type: string
+ forProvider:
+ properties:
+ deletionPolicy:
+ description: 'The deletion policy for the user. Setting ABANDON
+ allows the resource to be abandoned rather than deleted. This
+ is useful for Postgres, where users cannot be deleted from the
+ API if they have been granted SQL roles. The deletion policy
+ for the user. Setting ABANDON allows the resource to be abandoned
+ rather than deleted. This is useful for Postgres, where users
+ cannot be deleted from the API if they have been granted SQL
+ roles. Possible values are: "ABANDON".'
+ type: string
+ host:
+ description: The host the user can connect from. This is only
+ supported for BUILT_IN users in MySQL instances. Don't set this
+ field for PostgreSQL and SQL Server instances. Can be an IP
+ address. Changing this forces a new resource to be created.
+ The host the user can connect from. This is only supported for
+ MySQL instances. Don't set this field for PostgreSQL instances.
+ Can be an IP address. Changing this forces a new resource to
+ be created.
+ type: string
+ instance:
+ description: The name of the Cloud SQL instance. Changing this
+ forces a new resource to be created. The name of the Cloud SQL
+ instance. Changing this forces a new resource to be created.
+ type: string
+ instanceRef:
+ description: Reference to a DatabaseInstance to populate instance.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ instanceSelector:
+ description: Selector for a DatabaseInstance to populate instance.
+ properties:
+ matchControllerRef:
+ description: MatchControllerRef ensures an object with the
+ same controller reference as the selecting object is selected.
+ type: boolean
+ matchLabels:
+ additionalProperties:
+ type: string
+ description: MatchLabels ensures an object with matching labels
+ is selected.
+ type: object
+ policy:
+ description: Policies for selection.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ type: object
+ passwordPolicy:
+ items:
+ properties:
+ allowedFailedAttempts:
+ description: Number of failed attempts allowed before the
+ user get locked. Number of failed attempts allowed before
+ the user get locked.
+ type: number
+ enableFailedAttemptsCheck:
+ description: If true, the check that will lock user after
+ too many failed login attempts will be enabled. If true,
+ the check that will lock user after too many failed login
+ attempts will be enabled.
+ type: boolean
+ enablePasswordVerification:
+ description: If true, the user must specify the current
+ password before changing the password. This flag is supported
+ only for MySQL. If true, the user must specify the current
+ password before changing the password. This flag is supported
+ only for MySQL.
+ type: boolean
+ passwordExpirationDuration:
+ description: Password expiration duration with one week
+ grace period. Password expiration duration with one week
+ grace period.
+ type: string
+ type: object
+ type: array
+ passwordSecretRef:
+ description: The password for the user. Can be updated. For Postgres
+ instances this is a Required field, unless type is set to either
+ CLOUD_IAM_USER or CLOUD_IAM_SERVICE_ACCOUNT. Don't set this
+ field for CLOUD_IAM_USER and CLOUD_IAM_SERVICE_ACCOUNT user
+ types for any Cloud SQL instance. The password for the user.
+ Can be updated. For Postgres instances this is a Required field,
+ unless type is set to either CLOUD_IAM_USER or CLOUD_IAM_SERVICE_ACCOUNT.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - key
+ - name
+ - namespace
+ type: object
+ project:
+ description: The ID of the project in which the resource belongs.
+ If it is not provided, the provider project is used. The ID
+ of the project in which the resource belongs. If it is not provided,
+ the provider project is used.
+ type: string
+ type:
+ description: The user type. It determines the method to authenticate
+ the user during login. The default is the database's built-in
+ user type. Flags include "BUILT_IN", "CLOUD_IAM_USER", or "CLOUD_IAM_SERVICE_ACCOUNT".
+ The user type. It determines the method to authenticate the
+ user during login. The default is the database's built-in user
+ type. Flags include "BUILT_IN", "CLOUD_IAM_USER", or "CLOUD_IAM_SERVICE_ACCOUNT".
+ type: string
+ type: object
+ managementPolicy:
+ default: FullControl
+ description: 'THIS IS AN ALPHA FIELD. Do not use it in production.
+ It is not honored unless the relevant Crossplane feature flag is
+ enabled, and may be changed or removed without notice. ManagementPolicy
+ specifies the level of control Crossplane has over the managed external
+ resource. This field is planned to replace the DeletionPolicy field
+ in a future release. Currently, both could be set independently
+ and non-default values would be honored if the feature flag is enabled.
+ See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
+ enum:
+ - FullControl
+ - ObserveOnly
+ - OrphanOnDelete
+ type: string
+ providerConfigRef:
+ default:
+ name: default
+ description: ProviderConfigReference specifies how the provider that
+ will be used to create, observe, update, and delete this managed
+ resource should be configured.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ providerRef:
+ description: 'ProviderReference specifies the provider that will be
+ used to create, observe, update, and delete this managed resource.
+ Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`'
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ publishConnectionDetailsTo:
+ description: PublishConnectionDetailsTo specifies the connection secret
+ config which contains a name, metadata and a reference to secret
+ store config to which any connection details for this managed resource
+ should be written. Connection details frequently include the endpoint,
+ username, and password required to connect to the managed resource.
+ properties:
+ configRef:
+ default:
+ name: default
+ description: SecretStoreConfigRef specifies which secret store
+ config should be used for this ConnectionSecret.
+ properties:
+ name:
+ description: Name of the referenced object.
+ type: string
+ policy:
+ description: Policies for referencing.
+ properties:
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of
+ this reference is required. The default is 'Required',
+ which means the reconcile will fail if the reference
+ cannot be resolved. 'Optional' means this reference
+ will be a no-op if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will
+ attempt to resolve the reference only when the corresponding
+ field is not present. Use 'Always' to resolve the reference
+ on every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
+ type: object
+ required:
+ - name
+ type: object
+ metadata:
+ description: Metadata is the metadata for connection secret.
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ description: Annotations are the annotations to be added to
+ connection secret. - For Kubernetes secrets, this will be
+ used as "metadata.annotations". - It is up to Secret Store
+ implementation for others store types.
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ description: Labels are the labels/tags to be added to connection
+ secret. - For Kubernetes secrets, this will be used as "metadata.labels".
+ - It is up to Secret Store implementation for others store
+ types.
+ type: object
+ type:
+ description: Type is the SecretType for the connection secret.
+ - Only valid for Kubernetes Secret Stores.
+ type: string
+ type: object
+ name:
+ description: Name is the name of the connection secret.
+ type: string
+ required:
+ - name
+ type: object
+ writeConnectionSecretToRef:
+ description: WriteConnectionSecretToReference specifies the namespace
+ and name of a Secret to which any connection details for this managed
+ resource should be written. Connection details frequently include
+ the endpoint, username, and password required to connect to the
+ managed resource. This field is planned to be replaced in a future
+ release in favor of PublishConnectionDetailsTo. Currently, both
+ could be set independently and connection details would be published
+ to both without affecting each other.
+ properties:
+ name:
+ description: Name of the secret.
+ type: string
+ namespace:
+ description: Namespace of the secret.
+ type: string
+ required:
+ - name
+ - namespace
+ type: object
+ required:
+ - forProvider
+ type: object
+ status:
+ description: UserStatus defines the observed state of User.
+ properties:
+ atProvider:
+ properties:
+ deletionPolicy:
+ description: 'The deletion policy for the user. Setting ABANDON
+ allows the resource to be abandoned rather than deleted. This
+ is useful for Postgres, where users cannot be deleted from the
+ API if they have been granted SQL roles. The deletion policy
+ for the user. Setting ABANDON allows the resource to be abandoned
+ rather than deleted. This is useful for Postgres, where users
+ cannot be deleted from the API if they have been granted SQL
+ roles. Possible values are: "ABANDON".'
+ type: string
+ host:
+ description: The host the user can connect from. This is only
+ supported for BUILT_IN users in MySQL instances. Don't set this
+ field for PostgreSQL and SQL Server instances. Can be an IP
+ address. Changing this forces a new resource to be created.
+ The host the user can connect from. This is only supported for
+ MySQL instances. Don't set this field for PostgreSQL instances.
+ Can be an IP address. Changing this forces a new resource to
+ be created.
+ type: string
+ id:
+ type: string
+ instance:
+ description: The name of the Cloud SQL instance. Changing this
+ forces a new resource to be created. The name of the Cloud SQL
+ instance. Changing this forces a new resource to be created.
+ type: string
+ passwordPolicy:
+ items:
+ properties:
+ allowedFailedAttempts:
+ description: Number of failed attempts allowed before the
+ user get locked. Number of failed attempts allowed before
+ the user get locked.
+ type: number
+ enableFailedAttemptsCheck:
+ description: If true, the check that will lock user after
+ too many failed login attempts will be enabled. If true,
+ the check that will lock user after too many failed login
+ attempts will be enabled.
+ type: boolean
+ enablePasswordVerification:
+ description: If true, the user must specify the current
+ password before changing the password. This flag is supported
+ only for MySQL. If true, the user must specify the current
+ password before changing the password. This flag is supported
+ only for MySQL.
+ type: boolean
+ passwordExpirationDuration:
+ description: Password expiration duration with one week
+ grace period. Password expiration duration with one week
+ grace period.
+ type: string
+ status:
+ items:
+ properties:
+ locked:
+ description: (read only) If true, user does not have
+ login privileges.
+ type: boolean
+ passwordExpirationTime:
+ description: (read only) Password expiration duration
+ with one week grace period.
+ type: string
+ type: object
+ type: array
+ type: object
+ type: array
+ project:
+ description: The ID of the project in which the resource belongs.
+ If it is not provided, the provider project is used. The ID
+ of the project in which the resource belongs. If it is not provided,
+ the provider project is used.
+ type: string
+ sqlServerUserDetails:
+ items:
+ properties:
+ disabled:
+ type: boolean
+ serverRoles:
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ type:
+ description: The user type. It determines the method to authenticate
+ the user during login. The default is the database's built-in
+ user type. Flags include "BUILT_IN", "CLOUD_IAM_USER", or "CLOUD_IAM_SERVICE_ACCOUNT".
+ The user type. It determines the method to authenticate the
+ user during login. The default is the database's built-in user
+ type. Flags include "BUILT_IN", "CLOUD_IAM_USER", or "CLOUD_IAM_SERVICE_ACCOUNT".
+ type: string
+ type: object
+ conditions:
+ description: Conditions of the resource.
+ items:
+ description: A Condition that may apply to a resource.
+ properties:
+ lastTransitionTime:
+ description: LastTransitionTime is the last time this condition
+ transitioned from one status to another.
+ format: date-time
+ type: string
+ message:
+ description: A Message containing details about this condition's
+ last transition from one status to another, if any.
+ type: string
+ reason:
+ description: A Reason for this condition's last transition from
+ one status to another.
+ type: string
+ status:
+ description: Status of this condition; is it currently True,
+ False, or Unknown?
+ type: string
+ type:
+ description: Type of this condition. At most one of each condition
+ type may apply to a resource at any point in time.
+ type: string
+ required:
+ - lastTransitionTime
+ - reason
+ - status
+ - type
+ type: object
+ type: array
+ type: object
+ required:
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
diff --git a/charts/kubedb-provider-gcp/doc.yaml b/charts/kubedb-provider-gcp/doc.yaml
new file mode 100644
index 000000000..ff12271d8
--- /dev/null
+++ b/charts/kubedb-provider-gcp/doc.yaml
@@ -0,0 +1,18 @@
+project:
+ name: KubeDB GCP Provider for Crossplane
+ shortName: KubeDB GCP Provider
+ url: https://github.com/kubedb/provider-gcp
+ description: KubeDB GCP provider for Crossplane
+ app: a KubeDB GCP provider
+repository:
+ url: https://charts.appscode.com/stable/
+ name: appscode
+chart:
+ name: kubedb-provider-gcp
+ values: -- generate from values file --
+ valuesExample: -- generate from values file --
+prerequisites:
+- Kubernetes 1.21+
+release:
+ name: kubedb-provider-gcp
+ namespace: crossplane-system
\ No newline at end of file
diff --git a/charts/kubedb-provider-gcp/templates/NOTES.txt b/charts/kubedb-provider-gcp/templates/NOTES.txt
new file mode 100644
index 000000000..4ca1f99d6
--- /dev/null
+++ b/charts/kubedb-provider-gcp/templates/NOTES.txt
@@ -0,0 +1,3 @@
+To verify that Supervisor has started, run:
+
+ kubectl get deployment --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "kubedb-provider-gcp.name" . }},app.kubernetes.io/instance={{ .Release.Name }}"
diff --git a/charts/kubedb-provider-gcp/templates/_helpers.tpl b/charts/kubedb-provider-gcp/templates/_helpers.tpl
new file mode 100644
index 000000000..69e19122f
--- /dev/null
+++ b/charts/kubedb-provider-gcp/templates/_helpers.tpl
@@ -0,0 +1,107 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "kubedb-provider-gcp.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
+{{- end }}
+
+{{/*
+Create a default fully qualified app name.
+We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
+If release name contains chart name it will be used as a full name.
+*/}}
+{{- define "kubedb-provider-gcp.fullname" -}}
+{{- if .Values.fullnameOverride }}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
+{{- else }}
+{{- $name := default .Chart.Name .Values.nameOverride }}
+{{- if contains $name .Release.Name }}
+{{- .Release.Name | trunc 63 | trimSuffix "-" }}
+{{- else }}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
+{{- end }}
+{{- end }}
+{{- end }}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "kubedb-provider-gcp.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
+{{- end }}
+
+{{/*
+Common labels
+*/}}
+{{- define "kubedb-provider-gcp.labels" -}}
+helm.sh/chart: {{ include "kubedb-provider-gcp.chart" . }}
+{{ include "kubedb-provider-gcp.selectorLabels" . }}
+{{- if .Chart.AppVersion }}
+app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
+{{- end }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end }}
+
+{{/*
+Selector labels
+*/}}
+{{- define "kubedb-provider-gcp.selectorLabels" -}}
+app.kubernetes.io/name: {{ include "kubedb-provider-gcp.name" . }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+{{- end }}
+
+{{/*
+Create the name of the service account to use
+*/}}
+{{- define "kubedb-provider-gcp.serviceAccountName" -}}
+{{- if .Values.serviceAccount.create }}
+{{- default (include "kubedb-provider-gcp.fullname" .) .Values.serviceAccount.name }}
+{{- else }}
+{{- default "default" .Values.serviceAccount.name }}
+{{- end }}
+{{- end }}
+
+{{/*
+Returns the appscode license
+*/}}
+{{- define "appscode.license" -}}
+{{- .Values.license }}
+{{- end }}
+
+{{/*
+Returns the registry used for operator docker image
+*/}}
+{{- define "image.registry" -}}
+{{- list .Values.registryFQDN .Values.image.registry | compact | join "/" }}
+{{- end }}
+
+{{- define "appscode.imagePullSecrets" -}}
+{{- with .Values.imagePullSecrets -}}
+imagePullSecrets:
+{{- toYaml . | nindent 2 }}
+{{- end }}
+{{- end }}
+
+{{/*
+Returns the enabled monitoring agent name
+*/}}
+{{- define "monitoring.agent" -}}
+{{- .Values.monitoring.agent }}
+{{- end }}
+
+{{/*
+Returns whether the ServiceMonitor will be labeled with custom label
+*/}}
+{{- define "monitoring.apply-servicemonitor-label" -}}
+{{- ternary "false" "true" ( empty .Values.monitoring.serviceMonitor.labels ) -}}
+{{- end }}
+
+{{/*
+Returns the ServiceMonitor labels
+*/}}
+{{- define "monitoring.servicemonitor-label" -}}
+{{- range $key, $val := .Values.monitoring.serviceMonitor.labels }}
+{{ $key }}: {{ $val }}
+{{- end }}
+{{- end }}
diff --git a/charts/kubedb-provider-gcp/templates/cluster-role-binding.yaml b/charts/kubedb-provider-gcp/templates/cluster-role-binding.yaml
new file mode 100644
index 000000000..200726f35
--- /dev/null
+++ b/charts/kubedb-provider-gcp/templates/cluster-role-binding.yaml
@@ -0,0 +1,14 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: {{ include "kubedb-provider-gcp.fullname" . }}
+ labels:
+ {{- include "kubedb-provider-gcp.labels" . | nindent 4 }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: {{ include "kubedb-provider-gcp.fullname" . }}
+subjects:
+- kind: ServiceAccount
+ name: {{ include "kubedb-provider-gcp.fullname" . }}
+ namespace: {{ .Release.Namespace }}
diff --git a/charts/kubedb-provider-gcp/templates/cluster-role.yaml b/charts/kubedb-provider-gcp/templates/cluster-role.yaml
new file mode 100644
index 000000000..d5223b241
--- /dev/null
+++ b/charts/kubedb-provider-gcp/templates/cluster-role.yaml
@@ -0,0 +1,34 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: {{ include "kubedb-provider-gcp.fullname" . }}
+ labels:
+ {{- include "kubedb-provider-gcp.labels" . | nindent 4 }}
+rules:
+- apiGroups:
+ - compute.gcp.kubedb.com
+ - gcp.kubedb.com
+ - redis.gcp.kubedb.com
+ - spanner.gcp.kubedb.com
+ - sql.gcp.kubedb.com
+ resources: ["*"]
+ verbs: ["*"]
+- apiGroups:
+ - apiextensions.k8s.io
+ resources:
+ - customresourcedefinitions
+ verbs: ["*"]
+- apiGroups: [""]
+ resources:
+ - nodes
+ - secrets
+ verbs: ["list","watch","get"]
+- apiGroups: [""]
+ resources:
+ - serviceaccounts
+ verbs: ["create", "get", "patch", "list", "watch"]
+- apiGroups:
+ - ""
+ resources:
+ - events
+ verbs: ["*"]
diff --git a/charts/kubedb-provider-gcp/templates/deployment.yaml b/charts/kubedb-provider-gcp/templates/deployment.yaml
new file mode 100644
index 000000000..b702ad51c
--- /dev/null
+++ b/charts/kubedb-provider-gcp/templates/deployment.yaml
@@ -0,0 +1,75 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "kubedb-provider-gcp.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "kubedb-provider-gcp.labels" . | nindent 4 }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ {{- include "kubedb-provider-gcp.selectorLabels" . | nindent 6 }}
+ template:
+ metadata:
+ {{- with .Values.podAnnotations }}
+ annotations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ labels:
+ {{- include "kubedb-provider-gcp.selectorLabels" . | nindent 8 }}
+ spec:
+ {{- include "appscode.imagePullSecrets" . | nindent 6 }}
+ serviceAccountName: {{ include "kubedb-provider-gcp.serviceAccountName" . }}
+ securityContext:
+ {{- toYaml .Values.podSecurityContext | nindent 8 }}
+ containers:
+ - name: {{ .Chart.Name }}
+ securityContext:
+ {{- toYaml .Values.image.securityContext | nindent 12 }}
+ image: {{ include "image.registry" . }}/{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}
+ imagePullPolicy: {{ .Values.imagePullPolicy }}
+ args:
+ - --debug
+ ports:
+ - containerPort: 8080
+ name: metrics
+ protocol: TCP
+ - containerPort: 9443
+ name: webhook
+ protocol: TCP
+ # ports:
+ # - name: metrics
+ # containerPort: 8080
+ # protocol: TCP
+ # - name: http
+ # containerPort: 8081
+ # protocol: TCP
+ # livenessProbe:
+ # httpGet:
+ # path: /healthz
+ # port: http
+ # readinessProbe:
+ # httpGet:
+ # path: /readyz
+ # port: http
+ resources:
+ {{- toYaml .Values.image.resources | nindent 12 }}
+ volumeMounts:
+ - name: tmp
+ mountPath: /tmp
+ volumes:
+ - name: tmp
+ emptyDir: {}
+ {{- with .Values.nodeSelector }}
+ nodeSelector:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.tolerations }}
+ tolerations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
diff --git a/charts/kubedb-provider-gcp/templates/provider-config.yaml b/charts/kubedb-provider-gcp/templates/provider-config.yaml
new file mode 100644
index 000000000..d7620b5f2
--- /dev/null
+++ b/charts/kubedb-provider-gcp/templates/provider-config.yaml
@@ -0,0 +1,12 @@
+apiVersion: gcp.kubedb.com/v1beta1
+kind: ProviderConfig
+metadata:
+ name: {{ include "kubedb-provider-gcp.fullname" . }}
+spec:
+ projectID: {{ .Values.gcp.projectID }}
+ credentials:
+ source: Secret
+ secretRef:
+ namespace: capi-cluster
+ name: {{ .Values.gcp.secretName }}
+ key: credential_json
diff --git a/charts/kubedb-provider-gcp/templates/service.yaml b/charts/kubedb-provider-gcp/templates/service.yaml
new file mode 100644
index 000000000..eac3b7831
--- /dev/null
+++ b/charts/kubedb-provider-gcp/templates/service.yaml
@@ -0,0 +1,25 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "kubedb-provider-gcp.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "kubedb-provider-gcp.labels" . | nindent 4 }}
+{{- if eq "prometheus.io/builtin" ( include "monitoring.agent" . ) }}
+ annotations:
+ prometheus.io/scrape: "true"
+ prometheus.io/path: "/metrics"
+ prometheus.io/port: "8443"
+ prometheus.io/scheme: "https"
+{{- end }}
+spec:
+ ports:
+ # Port used to expose admission webhook apiserver
+ - name: metrics
+ port: 8080
+ targetPort: 8080
+ - name: webhook
+ port: 443
+ targetPort: 9443
+ selector:
+ {{- include "kubedb-provider-gcp.selectorLabels" . | nindent 4 }}
diff --git a/charts/kubedb-provider-gcp/templates/serviceaccount.yaml b/charts/kubedb-provider-gcp/templates/serviceaccount.yaml
new file mode 100644
index 000000000..b2fabe2ac
--- /dev/null
+++ b/charts/kubedb-provider-gcp/templates/serviceaccount.yaml
@@ -0,0 +1,13 @@
+{{- if .Values.serviceAccount.create -}}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: {{ include "kubedb-provider-gcp.serviceAccountName" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "kubedb-provider-gcp.labels" . | nindent 4 }}
+ {{- with .Values.serviceAccount.annotations }}
+ annotations:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+{{- end }}
diff --git a/charts/kubedb-provider-gcp/templates/servicemonitor.yaml b/charts/kubedb-provider-gcp/templates/servicemonitor.yaml
new file mode 100644
index 000000000..34f2493f0
--- /dev/null
+++ b/charts/kubedb-provider-gcp/templates/servicemonitor.yaml
@@ -0,0 +1,30 @@
+{{- if eq "prometheus.io/operator" ( include "monitoring.agent" . ) }}
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+ name: {{ include "kubedb-provider-gcp.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- if eq "true" ( include "monitoring.apply-servicemonitor-label" . ) }}
+ {{- include "monitoring.servicemonitor-label" . | nindent 4 }}
+ {{- else }}
+ {{- include "kubedb-provider-gcp.selectorLabels" . | nindent 4 }}
+ {{- end }}
+spec:
+ namespaceSelector:
+ matchNames:
+ - {{ .Release.Namespace }}
+ selector:
+ matchLabels:
+ {{- include "kubedb-provider-gcp.selectorLabels" . | nindent 6 }}
+ endpoints:
+ - port: api
+ bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+ scheme: https
+ tlsConfig:
+ ca:
+ secret:
+ name: {{ include "kubedb-provider-gcp.fullname" . }}-apiserver-cert
+ key: tls.crt
+ serverName: "{{ include "kubedb-provider-gcp.fullname" . }}.{{ .Release.Namespace }}.svc"
+{{- end }}
diff --git a/charts/kubedb-provider-gcp/values.openapiv3_schema.yaml b/charts/kubedb-provider-gcp/values.openapiv3_schema.yaml
new file mode 100644
index 000000000..17fdb5214
--- /dev/null
+++ b/charts/kubedb-provider-gcp/values.openapiv3_schema.yaml
@@ -0,0 +1,1199 @@
+properties:
+ affinity:
+ description: If specified, the pod's scheduling constraints
+ properties:
+ nodeAffinity:
+ description: Describes node affinity scheduling rules for the pod.
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ description: The scheduler will prefer to schedule pods to nodes that
+ satisfy the affinity expressions specified by this field, but it may
+ choose a node that violates one or more of the expressions. The node
+ that is most preferred is the one with the greatest sum of weights,
+ i.e. for each node that meets all of the scheduling requirements (resource
+ request, requiredDuringScheduling affinity expressions, etc.), compute
+ a sum by iterating through the elements of this field and adding "weight"
+ to the sum if the node matches the corresponding matchExpressions; the
+ node(s) with the highest sum are the most preferred.
+ items:
+ description: An empty preferred scheduling term matches all objects
+ with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling
+ term matches no objects (i.e. is also a no-op).
+ properties:
+ preference:
+ description: A node selector term, associated with the corresponding
+ weight.
+ properties:
+ matchExpressions:
+ description: A list of node selector requirements by node's
+ labels.
+ items:
+ description: A node selector requirement is a selector that
+ contains values, a key, and an operator that relates the
+ key and values.
+ properties:
+ key:
+ description: The label key that the selector applies to.
+ type: string
+ operator:
+ description: Represents a key's relationship to a set
+ of values. Valid operators are In, NotIn, Exists, DoesNotExist.
+ Gt, and Lt.
+ type: string
+ values:
+ description: 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. If the operator is Gt or Lt, the
+ values array must have a single element, which will
+ be interpreted as an integer. This array is replaced
+ during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchFields:
+ description: A list of node selector requirements by node's
+ fields.
+ items:
+ description: A node selector requirement is a selector that
+ contains values, a key, and an operator that relates the
+ key and values.
+ properties:
+ key:
+ description: The label key that the selector applies to.
+ type: string
+ operator:
+ description: Represents a key's relationship to a set
+ of values. Valid operators are In, NotIn, Exists, DoesNotExist.
+ Gt, and Lt.
+ type: string
+ values:
+ description: 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. If the operator is Gt or Lt, the
+ values array must have a single element, which will
+ be interpreted as an integer. This array is replaced
+ during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ type: object
+ x-kubernetes-map-type: atomic
+ weight:
+ description: Weight associated with matching the corresponding nodeSelectorTerm,
+ in the range 1-100.
+ format: int32
+ type: integer
+ required:
+ - preference
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ description: If the affinity requirements specified by this field are
+ not met at scheduling time, the pod will not be scheduled onto the node.
+ If the affinity requirements specified by this field cease to be met
+ at some point during pod execution (e.g. due to an update), the system
+ may or may not try to eventually evict the pod from its node.
+ properties:
+ nodeSelectorTerms:
+ description: Required. A list of node selector terms. The terms are
+ ORed.
+ items:
+ description: A null or empty node selector term matches no objects.
+ The requirements of them are ANDed. The TopologySelectorTerm type
+ implements a subset of the NodeSelectorTerm.
+ properties:
+ matchExpressions:
+ description: A list of node selector requirements by node's
+ labels.
+ items:
+ description: A node selector requirement is a selector that
+ contains values, a key, and an operator that relates the
+ key and values.
+ properties:
+ key:
+ description: The label key that the selector applies to.
+ type: string
+ operator:
+ description: Represents a key's relationship to a set
+ of values. Valid operators are In, NotIn, Exists, DoesNotExist.
+ Gt, and Lt.
+ type: string
+ values:
+ description: 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. If the operator is Gt or Lt, the
+ values array must have a single element, which will
+ be interpreted as an integer. This array is replaced
+ during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchFields:
+ description: A list of node selector requirements by node's
+ fields.
+ items:
+ description: A node selector requirement is a selector that
+ contains values, a key, and an operator that relates the
+ key and values.
+ properties:
+ key:
+ description: The label key that the selector applies to.
+ type: string
+ operator:
+ description: Represents a key's relationship to a set
+ of values. Valid operators are In, NotIn, Exists, DoesNotExist.
+ Gt, and Lt.
+ type: string
+ values:
+ description: 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. If the operator is Gt or Lt, the
+ values array must have a single element, which will
+ be interpreted as an integer. This array is replaced
+ during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ type: object
+ x-kubernetes-map-type: atomic
+ type: array
+ required:
+ - nodeSelectorTerms
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ podAffinity:
+ description: Describes pod affinity scheduling rules (e.g. co-locate this
+ pod in the same node, zone, etc. as some other pod(s)).
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ description: The scheduler will prefer to schedule pods to nodes that
+ satisfy the affinity expressions specified by this field, but it may
+ choose a node that violates one or more of the expressions. The node
+ that is most preferred is the one with the greatest sum of weights,
+ i.e. for each node that meets all of the scheduling requirements (resource
+ request, requiredDuringScheduling affinity expressions, etc.), compute
+ a sum by iterating through the elements of this field and adding "weight"
+ to the sum if the node has pods which matches the corresponding podAffinityTerm;
+ the node(s) with the highest sum are the most preferred.
+ items:
+ description: The weights of all of the matched WeightedPodAffinityTerm
+ fields are added per-node to find the most preferred node(s)
+ properties:
+ podAffinityTerm:
+ description: Required. A pod affinity term, associated with the
+ corresponding weight.
+ properties:
+ labelSelector:
+ description: A label query over a set of resources, in this
+ case pods.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaceSelector:
+ description: A label query over the set of namespaces that the
+ term applies to. The term is applied to the union of the namespaces
+ selected by this field and the ones listed in the namespaces
+ field. null selector and null or empty namespaces list means
+ "this pod's namespace". An empty selector ({}) matches all
+ namespaces.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaces:
+ description: namespaces specifies a static list of namespace
+ names that the term applies to. The term is applied to the
+ union of the namespaces listed in this field and the ones
+ selected by namespaceSelector. null or empty namespaces list
+ and null namespaceSelector means "this pod's namespace".
+ items:
+ type: string
+ type: array
+ topologyKey:
+ description: This pod should be co-located (affinity) or not
+ co-located (anti-affinity) with the pods matching the labelSelector
+ in the specified namespaces, where co-located is defined as
+ running on a node whose value of the label with key topologyKey
+ matches that of any node on which any of the selected pods
+ is running. Empty topologyKey is not allowed.
+ type: string
+ required:
+ - topologyKey
+ type: object
+ weight:
+ description: weight associated with matching the corresponding podAffinityTerm,
+ in the range 1-100.
+ format: int32
+ type: integer
+ required:
+ - podAffinityTerm
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ description: If the affinity requirements specified by this field are
+ not met at scheduling time, the pod will not be scheduled onto the node.
+ If the affinity requirements specified by this field cease to be met
+ at some point during pod execution (e.g. due to a pod label update),
+ the system may or may not try to eventually evict the pod from its node.
+ When there are multiple elements, the lists of nodes corresponding to
+ each podAffinityTerm are intersected, i.e. all terms must be satisfied.
+ items:
+ description: Defines a set of pods (namely those matching the labelSelector
+ relative to the given namespace(s)) that this pod should be co-located
+ (affinity) or not co-located (anti-affinity) with, where co-located
+ is defined as running on a node whose value of the label with key
+ matches that of any node on which a pod of the set of
+ pods is running
+ properties:
+ labelSelector:
+ description: A label query over a set of resources, in this case
+ pods.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaceSelector:
+ description: A label query over the set of namespaces that the term
+ applies to. The term is applied to the union of the namespaces
+ selected by this field and the ones listed in the namespaces field.
+ null selector and null or empty namespaces list means "this pod's
+ namespace". An empty selector ({}) matches all namespaces.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaces:
+ description: namespaces specifies a static list of namespace names
+ that the term applies to. The term is applied to the union of
+ the namespaces listed in this field and the ones selected by namespaceSelector.
+ null or empty namespaces list and null namespaceSelector means
+ "this pod's namespace".
+ items:
+ type: string
+ type: array
+ topologyKey:
+ description: This pod should be co-located (affinity) or not co-located
+ (anti-affinity) with the pods matching the labelSelector in the
+ specified namespaces, where co-located is defined as running on
+ a node whose value of the label with key topologyKey matches that
+ of any node on which any of the selected pods is running. Empty
+ topologyKey is not allowed.
+ type: string
+ required:
+ - topologyKey
+ type: object
+ type: array
+ type: object
+ podAntiAffinity:
+ description: Describes pod anti-affinity scheduling rules (e.g. avoid putting
+ this pod in the same node, zone, etc. as some other pod(s)).
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ description: The scheduler will prefer to schedule pods to nodes that
+ satisfy the anti-affinity expressions specified by this field, but it
+ may choose a node that violates one or more of the expressions. The
+ node that is most preferred is the one with the greatest sum of weights,
+ i.e. for each node that meets all of the scheduling requirements (resource
+ request, requiredDuringScheduling anti-affinity expressions, etc.),
+ compute a sum by iterating through the elements of this field and adding
+ "weight" to the sum if the node has pods which matches the corresponding
+ podAffinityTerm; the node(s) with the highest sum are the most preferred.
+ items:
+ description: The weights of all of the matched WeightedPodAffinityTerm
+ fields are added per-node to find the most preferred node(s)
+ properties:
+ podAffinityTerm:
+ description: Required. A pod affinity term, associated with the
+ corresponding weight.
+ properties:
+ labelSelector:
+ description: A label query over a set of resources, in this
+ case pods.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaceSelector:
+ description: A label query over the set of namespaces that the
+ term applies to. The term is applied to the union of the namespaces
+ selected by this field and the ones listed in the namespaces
+ field. null selector and null or empty namespaces list means
+ "this pod's namespace". An empty selector ({}) matches all
+ namespaces.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaces:
+ description: namespaces specifies a static list of namespace
+ names that the term applies to. The term is applied to the
+ union of the namespaces listed in this field and the ones
+ selected by namespaceSelector. null or empty namespaces list
+ and null namespaceSelector means "this pod's namespace".
+ items:
+ type: string
+ type: array
+ topologyKey:
+ description: This pod should be co-located (affinity) or not
+ co-located (anti-affinity) with the pods matching the labelSelector
+ in the specified namespaces, where co-located is defined as
+ running on a node whose value of the label with key topologyKey
+ matches that of any node on which any of the selected pods
+ is running. Empty topologyKey is not allowed.
+ type: string
+ required:
+ - topologyKey
+ type: object
+ weight:
+ description: weight associated with matching the corresponding podAffinityTerm,
+ in the range 1-100.
+ format: int32
+ type: integer
+ required:
+ - podAffinityTerm
+ - weight
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ description: If the anti-affinity requirements specified by this field
+ are not met at scheduling time, the pod will not be scheduled onto the
+ node. If the anti-affinity requirements specified by this field cease
+ to be met at some point during pod execution (e.g. due to a pod label
+ update), the system may or may not try to eventually evict the pod from
+ its node. When there are multiple elements, the lists of nodes corresponding
+ to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
+ items:
+ description: Defines a set of pods (namely those matching the labelSelector
+ relative to the given namespace(s)) that this pod should be co-located
+ (affinity) or not co-located (anti-affinity) with, where co-located
+ is defined as running on a node whose value of the label with key
+ matches that of any node on which a pod of the set of
+ pods is running
+ properties:
+ labelSelector:
+ description: A label query over a set of resources, in this case
+ pods.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaceSelector:
+ description: A label query over the set of namespaces that the term
+ applies to. The term is applied to the union of the namespaces
+ selected by this field and the ones listed in the namespaces field.
+ null selector and null or empty namespaces list means "this pod's
+ namespace". An empty selector ({}) matches all namespaces.
+ 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.
+ 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.
+ 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.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ 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.
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ namespaces:
+ description: namespaces specifies a static list of namespace names
+ that the term applies to. The term is applied to the union of
+ the namespaces listed in this field and the ones selected by namespaceSelector.
+ null or empty namespaces list and null namespaceSelector means
+ "this pod's namespace".
+ items:
+ type: string
+ type: array
+ topologyKey:
+ description: This pod should be co-located (affinity) or not co-located
+ (anti-affinity) with the pods matching the labelSelector in the
+ specified namespaces, where co-located is defined as running on
+ a node whose value of the label with key topologyKey matches that
+ of any node on which any of the selected pods is running. Empty
+ topologyKey is not allowed.
+ type: string
+ required:
+ - topologyKey
+ type: object
+ type: array
+ type: object
+ type: object
+ fullnameOverride:
+ type: string
+ gcp:
+ properties:
+ projectID:
+ type: string
+ secretName:
+ type: string
+ required:
+ - projectID
+ - secretName
+ type: object
+ image:
+ properties:
+ registry:
+ type: string
+ repository:
+ type: string
+ resources:
+ description: Compute Resources required by the sidecar container.
+ properties:
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: 'Limits describes the maximum amount of compute resources
+ allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: 'Requests describes the minimum amount of compute resources
+ required. If Requests is omitted for a container, it defaults to Limits
+ if that is explicitly specified, otherwise to an implementation-defined
+ value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
+ type: object
+ type: object
+ securityContext:
+ description: Security options the pod should run with.
+ properties:
+ allowPrivilegeEscalation:
+ description: 'AllowPrivilegeEscalation controls whether a process can
+ gain more privileges than its parent process. This bool directly controls
+ if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation
+ is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN
+ Note that this field cannot be set when spec.os.name is windows.'
+ type: boolean
+ capabilities:
+ description: The capabilities to add/drop when running containers. Defaults
+ to the default set of capabilities granted by the container runtime.
+ Note that this field cannot be set when spec.os.name is windows.
+ properties:
+ add:
+ description: Added capabilities
+ items:
+ description: Capability represent POSIX capabilities type
+ type: string
+ type: array
+ drop:
+ description: Removed capabilities
+ items:
+ description: Capability represent POSIX capabilities type
+ type: string
+ type: array
+ type: object
+ privileged:
+ description: Run container in privileged mode. Processes in privileged
+ containers are essentially equivalent to root on the host. Defaults
+ to false. Note that this field cannot be set when spec.os.name is windows.
+ type: boolean
+ procMount:
+ description: procMount denotes the type of proc mount to use for the containers.
+ The default is DefaultProcMount which uses the container runtime defaults
+ for readonly paths and masked paths. This requires the ProcMountType
+ feature flag to be enabled. Note that this field cannot be set when
+ spec.os.name is windows.
+ type: string
+ readOnlyRootFilesystem:
+ description: Whether this container has a read-only root filesystem. Default
+ is false. Note that this field cannot be set when spec.os.name is windows.
+ type: boolean
+ runAsGroup:
+ description: The GID to run the entrypoint of the container process. Uses
+ runtime default if unset. May also be set in PodSecurityContext. If
+ set in both SecurityContext and PodSecurityContext, the value specified
+ in SecurityContext takes precedence. Note that this field cannot be
+ set when spec.os.name is windows.
+ format: int64
+ type: integer
+ runAsNonRoot:
+ description: Indicates that the container must run as a non-root user.
+ If true, the Kubelet will validate the image at runtime to ensure that
+ it does not run as UID 0 (root) and fail to start the container if it
+ does. If unset or false, no such validation will be performed. May also
+ be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext,
+ the value specified in SecurityContext takes precedence.
+ type: boolean
+ runAsUser:
+ description: The UID to run the entrypoint of the container process. Defaults
+ to user specified in image metadata if unspecified. May also be set
+ in PodSecurityContext. If set in both SecurityContext and PodSecurityContext,
+ the value specified in SecurityContext takes precedence. Note that this
+ field cannot be set when spec.os.name is windows.
+ format: int64
+ type: integer
+ seLinuxOptions:
+ description: The SELinux context to be applied to the container. If unspecified,
+ the container runtime will allocate a random SELinux context for each
+ container. May also be set in PodSecurityContext. If set in both SecurityContext
+ and PodSecurityContext, the value specified in SecurityContext takes
+ precedence. Note that this field cannot be set when spec.os.name is
+ windows.
+ properties:
+ level:
+ description: Level is SELinux level label that applies to the container.
+ type: string
+ role:
+ description: Role is a SELinux role label that applies to the container.
+ type: string
+ type:
+ description: Type is a SELinux type label that applies to the container.
+ type: string
+ user:
+ description: User is a SELinux user label that applies to the container.
+ type: string
+ type: object
+ seccompProfile:
+ description: The seccomp options to use by this container. If seccomp
+ options are provided at both the pod & container level, the container
+ options override the pod options. Note that this field cannot be set
+ when spec.os.name is windows.
+ properties:
+ localhostProfile:
+ description: localhostProfile indicates a profile defined in a file
+ on the node should be used. The profile must be preconfigured on
+ the node to work. Must be a descending path, relative to the kubelet's
+ configured seccomp profile location. Must only be set if type is
+ "Localhost".
+ type: string
+ type:
+ description: "type indicates which kind of seccomp profile will be\
+ \ applied. Valid options are: \n Localhost - a profile defined in\
+ \ a file on the node should be used. RuntimeDefault - the container\
+ \ runtime default profile should be used. Unconfined - no profile\
+ \ should be applied."
+ type: string
+ required:
+ - type
+ type: object
+ windowsOptions:
+ description: The Windows specific settings applied to all containers.
+ If unspecified, the options from the PodSecurityContext will be used.
+ If set in both SecurityContext and PodSecurityContext, the value specified
+ in SecurityContext takes precedence. Note that this field cannot be
+ set when spec.os.name is linux.
+ properties:
+ gmsaCredentialSpec:
+ description: GMSACredentialSpec is where the GMSA admission webhook
+ (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents
+ of the GMSA credential spec named by the GMSACredentialSpecName
+ field.
+ type: string
+ gmsaCredentialSpecName:
+ description: GMSACredentialSpecName is the name of the GMSA credential
+ spec to use.
+ type: string
+ hostProcess:
+ description: HostProcess determines if a container should be run as
+ a 'Host Process' container. This field is alpha-level and will only
+ be honored by components that enable the WindowsHostProcessContainers
+ feature flag. Setting this field without the feature flag will result
+ in errors when validating the Pod. All of a Pod's containers must
+ have the same effective HostProcess value (it is not allowed to
+ have a mix of HostProcess containers and non-HostProcess containers). In
+ addition, if HostProcess is true then HostNetwork must also be set
+ to true.
+ type: boolean
+ runAsUserName:
+ description: The UserName in Windows to run the entrypoint of the
+ container process. Defaults to the user specified in image metadata
+ if unspecified. May also be set in PodSecurityContext. If set in
+ both SecurityContext and PodSecurityContext, the value specified
+ in SecurityContext takes precedence.
+ type: string
+ type: object
+ type: object
+ tag:
+ type: string
+ required:
+ - registry
+ - repository
+ - tag
+ type: object
+ imagePullPolicy:
+ type: string
+ imagePullSecrets:
+ items:
+ type: string
+ type: array
+ monitoring:
+ properties:
+ agent:
+ enum:
+ - prometheus.io
+ - prometheus.io/operator
+ - prometheus.io/builtin
+ type: string
+ serviceMonitor:
+ properties:
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ required:
+ - agent
+ - serviceMonitor
+ type: object
+ nameOverride:
+ type: string
+ nodeSelector:
+ additionalProperties:
+ type: string
+ type: object
+ podAnnotations:
+ additionalProperties:
+ type: string
+ type: object
+ podSecurityContext:
+ description: 'PodSecurityContext holds pod-level security attributes and common
+ container settings. Optional: Defaults to empty. See type description for default
+ values of each field.'
+ properties:
+ fsGroup:
+ description: "A special supplemental group that applies to all containers\
+ \ in a pod. Some volume types allow the Kubelet to change the ownership\
+ \ of that volume to be owned by the pod: \n 1. The owning GID will be the\
+ \ FSGroup 2. The setgid bit is set (new files created in the volume will\
+ \ be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- \n\
+ \ If unset, the Kubelet will not modify the ownership and permissions of\
+ \ any volume. Note that this field cannot be set when spec.os.name is windows."
+ format: int64
+ type: integer
+ fsGroupChangePolicy:
+ description: 'fsGroupChangePolicy defines behavior of changing ownership and
+ permission of the volume before being exposed inside Pod. This field will
+ only apply to volume types which support fsGroup based ownership(and permissions).
+ It will have no effect on ephemeral volume types such as: secret, configmaps
+ and emptydir. Valid values are "OnRootMismatch" and "Always". If not specified,
+ "Always" is used. Note that this field cannot be set when spec.os.name is
+ windows.'
+ type: string
+ runAsGroup:
+ description: The GID to run the entrypoint of the container process. Uses
+ runtime default if unset. May also be set in SecurityContext. If set in
+ both SecurityContext and PodSecurityContext, the value specified in SecurityContext
+ takes precedence for that container. Note that this field cannot be set
+ when spec.os.name is windows.
+ format: int64
+ type: integer
+ runAsNonRoot:
+ description: Indicates that the container must run as a non-root user. If
+ true, the Kubelet will validate the image at runtime to ensure that it does
+ not run as UID 0 (root) and fail to start the container if it does. If unset
+ or false, no such validation will be performed. May also be set in SecurityContext. If
+ set in both SecurityContext and PodSecurityContext, the value specified
+ in SecurityContext takes precedence.
+ type: boolean
+ runAsUser:
+ description: The UID to run the entrypoint of the container process. Defaults
+ to user specified in image metadata if unspecified. May also be set in SecurityContext. If
+ set in both SecurityContext and PodSecurityContext, the value specified
+ in SecurityContext takes precedence for that container. Note that this field
+ cannot be set when spec.os.name is windows.
+ format: int64
+ type: integer
+ seLinuxOptions:
+ description: The SELinux context to be applied to all containers. If unspecified,
+ the container runtime will allocate a random SELinux context for each container. May
+ also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext,
+ the value specified in SecurityContext takes precedence for that container.
+ Note that this field cannot be set when spec.os.name is windows.
+ properties:
+ level:
+ description: Level is SELinux level label that applies to the container.
+ type: string
+ role:
+ description: Role is a SELinux role label that applies to the container.
+ type: string
+ type:
+ description: Type is a SELinux type label that applies to the container.
+ type: string
+ user:
+ description: User is a SELinux user label that applies to the container.
+ type: string
+ type: object
+ seccompProfile:
+ description: The seccomp options to use by the containers in this pod. Note
+ that this field cannot be set when spec.os.name is windows.
+ properties:
+ localhostProfile:
+ description: localhostProfile indicates a profile defined in a file on
+ the node should be used. The profile must be preconfigured on the node
+ to work. Must be a descending path, relative to the kubelet's configured
+ seccomp profile location. Must only be set if type is "Localhost".
+ type: string
+ type:
+ description: "type indicates which kind of seccomp profile will be applied.\
+ \ Valid options are: \n Localhost - a profile defined in a file on the\
+ \ node should be used. RuntimeDefault - the container runtime default\
+ \ profile should be used. Unconfined - no profile should be applied."
+ type: string
+ required:
+ - type
+ type: object
+ supplementalGroups:
+ description: A list of groups applied to the first process run in each container,
+ in addition to the container's primary GID. If unspecified, no groups will
+ be added to any container. Note that this field cannot be set when spec.os.name
+ is windows.
+ items:
+ format: int64
+ type: integer
+ type: array
+ sysctls:
+ description: Sysctls hold a list of namespaced sysctls used for the pod. Pods
+ with unsupported sysctls (by the container runtime) might fail to launch.
+ Note that this field cannot be set when spec.os.name is windows.
+ items:
+ description: Sysctl defines a kernel parameter to be set
+ properties:
+ name:
+ description: Name of a property to set
+ type: string
+ value:
+ description: Value of a property to set
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ windowsOptions:
+ description: The Windows specific settings applied to all containers. If unspecified,
+ the options within a container's SecurityContext will be used. If set in
+ both SecurityContext and PodSecurityContext, the value specified in SecurityContext
+ takes precedence. Note that this field cannot be set when spec.os.name is
+ linux.
+ properties:
+ gmsaCredentialSpec:
+ description: GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa)
+ inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName
+ field.
+ type: string
+ gmsaCredentialSpecName:
+ description: GMSACredentialSpecName is the name of the GMSA credential
+ spec to use.
+ type: string
+ hostProcess:
+ description: HostProcess determines if a container should be run as a
+ 'Host Process' container. This field is alpha-level and will only be
+ honored by components that enable the WindowsHostProcessContainers feature
+ flag. Setting this field without the feature flag will result in errors
+ when validating the Pod. All of a Pod's containers must have the same
+ effective HostProcess value (it is not allowed to have a mix of HostProcess
+ containers and non-HostProcess containers). In addition, if HostProcess
+ is true then HostNetwork must also be set to true.
+ type: boolean
+ runAsUserName:
+ description: The UserName in Windows to run the entrypoint of the container
+ process. Defaults to the user specified in image metadata if unspecified.
+ May also be set in PodSecurityContext. If set in both SecurityContext
+ and PodSecurityContext, the value specified in SecurityContext takes
+ precedence.
+ type: string
+ type: object
+ type: object
+ registryFQDN:
+ type: string
+ replicaCount:
+ type: integer
+ serviceAccount:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ create:
+ type: boolean
+ name:
+ type: string
+ required:
+ - create
+ type: object
+ tolerations:
+ description: If specified, the pod's tolerations.
+ items:
+ description: The pod this Toleration is attached to tolerates any taint that
+ matches the triple using the matching operator .
+ properties:
+ effect:
+ description: Effect indicates the taint effect to match. Empty means match
+ all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule
+ and NoExecute.
+ type: string
+ key:
+ description: Key is the taint key that the toleration applies to. Empty
+ means match all taint keys. If the key is empty, operator must be Exists;
+ this combination means to match all values and all keys.
+ type: string
+ operator:
+ description: Operator represents a key's relationship to the value. Valid
+ operators are Exists and Equal. Defaults to Equal. Exists is equivalent
+ to wildcard for value, so that a pod can tolerate all taints of a particular
+ category.
+ type: string
+ tolerationSeconds:
+ description: TolerationSeconds represents the period of time the toleration
+ (which must be of effect NoExecute, otherwise this field is ignored) tolerates
+ the taint. By default, it is not set, which means tolerate the taint forever
+ (do not evict). Zero and negative values will be treated as 0 (evict immediately)
+ by the system.
+ format: int64
+ type: integer
+ value:
+ description: Value is the taint value the toleration matches to. If the
+ operator is Exists, the value should be empty, otherwise just a regular
+ string.
+ type: string
+ type: object
+ type: array
+required:
+- gcp
+- image
+- imagePullPolicy
+- monitoring
+- registryFQDN
+- replicaCount
+- serviceAccount
+type: object
diff --git a/charts/kubedb-provider-gcp/values.yaml b/charts/kubedb-provider-gcp/values.yaml
new file mode 100644
index 000000000..1ccf19140
--- /dev/null
+++ b/charts/kubedb-provider-gcp/values.yaml
@@ -0,0 +1,77 @@
+# Default values for kubedb-provider-gcp.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+# Overrides name template
+nameOverride: ""
+# Overrides fullname template
+fullnameOverride: ""
+
+replicaCount: 1
+
+# Docker registry fqdn used to pull docker images
+# Set this to use docker registry hosted at ${registryFQDN}/${registry}/${image}
+registryFQDN: ghcr.io
+image:
+ # Docker registry used to pull operator image
+ registry: kubedb
+ # Name of operator container image
+ repository: provider-gcp
+ # Overrides the image tag whose default is the chart appVersion.
+ tag: ""
+ # Compute Resources required by the operator container
+ resources: {}
+ # Security options the operator container should run with
+ securityContext: # +doc-gen:break
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop: ["ALL"]
+ readOnlyRootFilesystem: true
+ runAsNonRoot: true
+ runAsUser: 65534
+ seccompProfile:
+ type: RuntimeDefault
+
+# Specify an array of imagePullSecrets.
+# Secrets must be manually created in the namespace.
+#
+# Example:
+# helm template charts/stash \
+# --set imagePullSecrets[0].name=sec0 \
+# --set imagePullSecrets[1].name=sec1
+imagePullSecrets: []
+# Container image pull policy
+imagePullPolicy: Always
+
+serviceAccount:
+ # Specifies whether a service account should be created
+ create: true
+ # Annotations to add to the service account
+ annotations: {}
+ # The name of the service account to use.
+ # If not set and create is true, a name is generated using the fullname template
+ name: ""
+
+podAnnotations: {}
+
+podSecurityContext: {}
+ # fsGroup: 2000
+
+nodeSelector: {}
+
+tolerations: []
+
+affinity: {}
+
+monitoring:
+ # Name of monitoring agent (one of "prometheus.io", "prometheus.io/operator", "prometheus.io/builtin")
+ agent: ""
+ serviceMonitor:
+ # Specify the labels for ServiceMonitor.
+ # Prometheus crd will select ServiceMonitor using these labels.
+ # Only usable when monitoring agent is `prometheus.io/operator`.
+ labels: {}
+
+gcp:
+ projectID: ""
+ secretName: "gcp-credential"
diff --git a/hack/scripts/import-crds.sh b/hack/scripts/import-crds.sh
index 1bade0c8a..26c73807d 100755
--- a/hack/scripts/import-crds.sh
+++ b/hack/scripts/import-crds.sh
@@ -16,7 +16,7 @@
set -eou pipefail
-crd_dir=${1:-}
+crd_dir=${1:-}/apimachinery/crds
api_repo_url=https://github.com/kubedb/apimachinery.git
api_repo_tag=${KUBEDB_APIMACHINERY_TAG:-master}
@@ -97,3 +97,106 @@ crd-importer \
crd-importer \
--input=https://github.com/kubeops/supervisor/raw/v0.0.3/crds/supervisor.appscode.com_recommendations.yaml \
--out=./charts/kubedb-ops-manager/crds
+
+{
+ crd_dir=${1:-}/provider-aws/package/crds
+
+ repo_url=https://github.com/kubedb/provider-aws.git
+ repo_tag=${KUBEDB_PROVIDER_AWS_TAG:-main}
+
+ if [ "$#" -ne 1 ]; then
+ if [ "${repo_tag}" == "main" ]; then
+ echo "Error: missing path_to_input_crds_directory"
+ echo "Usage: import-crds.sh "
+ exit 1
+ fi
+
+ tmp_dir=$(mktemp -d -t api-XXXXXXXXXX)
+ # always cleanup temp dir
+ # ref: https://opensource.com/article/20/6/bash-trap
+ trap \
+ "{ rm -rf "${tmp_dir}"; }" \
+ SIGINT SIGTERM ERR EXIT
+
+ mkdir -p ${tmp_dir}
+ pushd $tmp_dir
+ git clone $repo_url
+ repo_dir=$(ls -b1)
+ cd $repo_dir
+ git checkout $repo_tag
+ popd
+ crd_dir=${tmp_dir}/${repo_dir}/package/crds
+ fi
+
+ crd-importer \
+ --input=${crd_dir} \
+ --out=./charts/kubedb-provider-aws/crds
+}
+{
+ crd_dir=${1:-}/provider-azure/package/crds
+
+ repo_url=https://github.com/kubedb/provider-azure.git
+ repo_tag=${KUBEDB_PROVIDER_AZURE_TAG:-main}
+
+ if [ "$#" -ne 1 ]; then
+ if [ "${repo_tag}" == "main" ]; then
+ echo "Error: missing path_to_input_crds_directory"
+ echo "Usage: import-crds.sh "
+ exit 1
+ fi
+
+ tmp_dir=$(mktemp -d -t api-XXXXXXXXXX)
+ # always cleanup temp dir
+ # ref: https://opensource.com/article/20/6/bash-trap
+ trap \
+ "{ rm -rf "${tmp_dir}"; }" \
+ SIGINT SIGTERM ERR EXIT
+
+ mkdir -p ${tmp_dir}
+ pushd $tmp_dir
+ git clone $repo_url
+ repo_dir=$(ls -b1)
+ cd $repo_dir
+ git checkout $repo_tag
+ popd
+ crd_dir=${tmp_dir}/${repo_dir}/package/crds
+ fi
+
+ crd-importer \
+ --input=${crd_dir} \
+ --out=./charts/kubedb-provider-azure/crds
+}
+{
+ crd_dir=${1:-}/provider-gcp/package/crds
+
+ repo_url=https://github.com/kubedb/provider-gcp.git
+ repo_tag=${KUBEDB_PROVIDER_GCP_TAG:-main}
+
+ if [ "$#" -ne 1 ]; then
+ if [ "${repo_tag}" == "main" ]; then
+ echo "Error: missing path_to_input_crds_directory"
+ echo "Usage: import-crds.sh "
+ exit 1
+ fi
+
+ tmp_dir=$(mktemp -d -t api-XXXXXXXXXX)
+ # always cleanup temp dir
+ # ref: https://opensource.com/article/20/6/bash-trap
+ trap \
+ "{ rm -rf "${tmp_dir}"; }" \
+ SIGINT SIGTERM ERR EXIT
+
+ mkdir -p ${tmp_dir}
+ pushd $tmp_dir
+ git clone $repo_url
+ repo_dir=$(ls -b1)
+ cd $repo_dir
+ git checkout $repo_tag
+ popd
+ crd_dir=${tmp_dir}/${repo_dir}/package/crds
+ fi
+
+ crd-importer \
+ --input=${crd_dir} \
+ --out=./charts/kubedb-provider-gcp/crds
+}