diff --git a/apis/installer/v1alpha1/kubedb_catalog_types.go b/apis/installer/v1alpha1/kubedb_catalog_types.go
index 6524ef3f3..32eb4fe78 100644
--- a/apis/installer/v1alpha1/kubedb_catalog_types.go
+++ b/apis/installer/v1alpha1/kubedb_catalog_types.go
@@ -65,6 +65,9 @@ type RegistryProxies struct {
// registry.k8s.io
//+optional
Kubernetes string `json:"kubernetes"`
+ // mcr.microsoft.com
+ //+optional
+ Microsoft string `json:"microsoft"`
// r.appscode.com
//+optional
AppsCode string `json:"appscode"`
diff --git a/catalog/kubedb/active_versions.json b/catalog/kubedb/active_versions.json
index 951f1737e..88297a4c9 100644
--- a/catalog/kubedb/active_versions.json
+++ b/catalog/kubedb/active_versions.json
@@ -42,6 +42,9 @@
"mongodb-1.11.0",
"gcs-0.13.0"
],
+ "MSSQLServer": [
+ "2022-cu12"
+ ],
"MariaDB": [
"11.2.2",
"11.1.3",
diff --git a/catalog/kubedb/fmt/main.go b/catalog/kubedb/fmt/main.go
index 18efdf7a1..f78a1ee8e 100644
--- a/catalog/kubedb/fmt/main.go
+++ b/catalog/kubedb/fmt/main.go
@@ -527,6 +527,8 @@ func main() {
newimg = fmt.Sprintf(`{{ include "image.ghcr" (merge (dict "_repo" "%s") $) }}`, ref.Repository)
case "registry.k8s.io":
newimg = fmt.Sprintf(`{{ include "image.kubernetes" (merge (dict "_repo" "%s") $) }}`, ref.Repository)
+ case "mcr.microsoft.com":
+ newimg = fmt.Sprintf(`{{ include "image.microsoft" (merge (dict "_repo" "%s") $) }}`, ref.Repository)
default:
panic("unsupported registry for image " + img)
}
diff --git a/catalog/kubedb/raw/mssqlserver/mssqlserver-2022.yaml b/catalog/kubedb/raw/mssqlserver/mssqlserver-2022.yaml
new file mode 100644
index 000000000..7182ca730
--- /dev/null
+++ b/catalog/kubedb/raw/mssqlserver/mssqlserver-2022.yaml
@@ -0,0 +1,14 @@
+apiVersion: catalog.kubedb.com/v1alpha1
+kind: MSSQLServerVersion
+metadata:
+ name: 2022-cu12
+spec:
+ coordinator:
+ image: ghcr.io/kubedb/mssql-coordinator:v0.0.1
+ db:
+ image: mcr.microsoft.com/mssql/server:2022-CU12-ubuntu-22.04
+ initContainer:
+ image: ghcr.io/kubedb/mssql-init:2022-ubuntu-22-v1
+ securityContext:
+ runAsUser: 10001
+ version: "2022"
diff --git a/charts/kubedb-catalog/README.md b/charts/kubedb-catalog/README.md
index 5507201c0..caac78489 100644
--- a/charts/kubedb-catalog/README.md
+++ b/charts/kubedb-catalog/README.md
@@ -45,75 +45,76 @@ The command removes all the Kubernetes components associated with the chart and
The following table lists the configurable parameters of the `kubedb-catalog` chart and their default values.
-| Parameter | Description | Default |
-|--------------------------------------------|-------------------------------------------------|------------------------------|
-| nameOverride | Overrides name template | ""
|
-| fullnameOverride | Overrides fullname template | ""
|
-| proxies.dockerHub | | ""
|
-| proxies.dockerLibrary | | ""
|
-| proxies.ghcr | | ghcr.io
|
-| proxies.kubernetes | | registry.k8s.io
|
-| proxies.appscode | | r.appscode.com
|
-| featureGates.Druid | | true
|
-| featureGates.Elasticsearch | | true
|
-| featureGates.FerretDB | | true
|
-| featureGates.Kafka | | true
|
-| featureGates.MariaDB | | true
|
-| featureGates.Memcached | | true
|
-| featureGates.MicrosoftSQLServer | | false
|
-| featureGates.MongoDB | | true
|
-| featureGates.MySQL | | true
|
-| featureGates.PerconaXtraDB | | true
|
-| featureGates.PgBouncer | | true
|
-| featureGates.Pgpool | | true
|
-| featureGates.Postgres | | true
|
-| featureGates.ProxySQL | | true
|
-| featureGates.RabbitMQ | | true
|
-| featureGates.Redis | | true
|
-| featureGates.Singlestore | | true
|
-| featureGates.Solr | | true
|
-| featureGates.ZooKeeper | | true
|
-| psp.enabled | | false
|
-| psp.elasticsearch.allowPrivilegeEscalation | | true
|
-| psp.elasticsearch.privileged | | true
|
-| psp.mariadb.allowPrivilegeEscalation | | false
|
-| psp.mariadb.privileged | | false
|
-| psp.memcached.allowPrivilegeEscalation | | false
|
-| psp.memcached.privileged | | false
|
-| psp.mongodb.allowPrivilegeEscalation | | false
|
-| psp.mongodb.privileged | | false
|
-| psp.mysql.allowPrivilegeEscalation | | false
|
-| psp.mysql.privileged | | false
|
-| psp.perconaxtradb.allowPrivilegeEscalation | | false
|
-| psp.perconaxtradb.privileged | | false
|
-| psp.postgres.allowPrivilegeEscalation | | false
|
-| psp.postgres.privileged | | false
|
-| psp.proxysql.allowPrivilegeEscalation | | false
|
-| psp.proxysql.privileged | | false
|
-| psp.redis.allowPrivilegeEscalation | | false
|
-| psp.redis.privileged | | false
|
-| psp.kafka.allowPrivilegeEscalation | | false
|
-| psp.kafka.privileged | | false
|
-| skipDeprecated | Set true to avoid deploying deprecated versions | true
|
-| enableVersions.Druid | | []
|
-| enableVersions.Elasticsearch | | []
|
-| enableVersions.FerretDB | | []
|
-| enableVersions.Kafka | | []
|
-| enableVersions.MariaDB | | []
|
-| enableVersions.Memcached | | []
|
-| enableVersions.MicrosoftSQLServer | | []
|
-| enableVersions.MongoDB | | []
|
-| enableVersions.MySQL | | []
|
-| enableVersions.PerconaXtraDB | | []
|
-| enableVersions.PgBouncer | | []
|
-| enableVersions.Pgpool | | []
|
-| enableVersions.Postgres | | []
|
-| enableVersions.ProxySQL | | []
|
-| enableVersions.RabbitMQ | | []
|
-| enableVersions.Redis | | []
|
-| enableVersions.Singlestore | | []
|
-| enableVersions.Solr | | []
|
-| enableVersions.ZooKeeper | | []
|
+| Parameter | Description | Default |
+|--------------------------------------------|-------------------------------------------------|--------------------------------|
+| nameOverride | Overrides name template | ""
|
+| fullnameOverride | Overrides fullname template | ""
|
+| proxies.dockerHub | | ""
|
+| proxies.dockerLibrary | | ""
|
+| proxies.ghcr | | ghcr.io
|
+| proxies.kubernetes | | registry.k8s.io
|
+| proxies.microsoft | | mcr.microsoft.com
|
+| proxies.appscode | | r.appscode.com
|
+| featureGates.Druid | | true
|
+| featureGates.Elasticsearch | | true
|
+| featureGates.FerretDB | | true
|
+| featureGates.Kafka | | true
|
+| featureGates.MariaDB | | true
|
+| featureGates.Memcached | | true
|
+| featureGates.MongoDB | | true
|
+| featureGates.MSSQLServer | | true
|
+| featureGates.MySQL | | true
|
+| featureGates.PerconaXtraDB | | true
|
+| featureGates.PgBouncer | | true
|
+| featureGates.Pgpool | | true
|
+| featureGates.Postgres | | true
|
+| featureGates.ProxySQL | | true
|
+| featureGates.RabbitMQ | | true
|
+| featureGates.Redis | | true
|
+| featureGates.Singlestore | | true
|
+| featureGates.Solr | | true
|
+| featureGates.ZooKeeper | | true
|
+| psp.enabled | | false
|
+| psp.elasticsearch.allowPrivilegeEscalation | | true
|
+| psp.elasticsearch.privileged | | true
|
+| psp.mariadb.allowPrivilegeEscalation | | false
|
+| psp.mariadb.privileged | | false
|
+| psp.memcached.allowPrivilegeEscalation | | false
|
+| psp.memcached.privileged | | false
|
+| psp.mongodb.allowPrivilegeEscalation | | false
|
+| psp.mongodb.privileged | | false
|
+| psp.mysql.allowPrivilegeEscalation | | false
|
+| psp.mysql.privileged | | false
|
+| psp.perconaxtradb.allowPrivilegeEscalation | | false
|
+| psp.perconaxtradb.privileged | | false
|
+| psp.postgres.allowPrivilegeEscalation | | false
|
+| psp.postgres.privileged | | false
|
+| psp.proxysql.allowPrivilegeEscalation | | false
|
+| psp.proxysql.privileged | | false
|
+| psp.redis.allowPrivilegeEscalation | | false
|
+| psp.redis.privileged | | false
|
+| psp.kafka.allowPrivilegeEscalation | | false
|
+| psp.kafka.privileged | | false
|
+| skipDeprecated | Set true to avoid deploying deprecated versions | true
|
+| enableVersions.Druid | | []
|
+| enableVersions.Elasticsearch | | []
|
+| enableVersions.FerretDB | | []
|
+| enableVersions.Kafka | | []
|
+| enableVersions.MariaDB | | []
|
+| enableVersions.Memcached | | []
|
+| enableVersions.MSSQLServer | | []
|
+| enableVersions.MongoDB | | []
|
+| enableVersions.MySQL | | []
|
+| enableVersions.PerconaXtraDB | | []
|
+| enableVersions.PgBouncer | | []
|
+| enableVersions.Pgpool | | []
|
+| enableVersions.Postgres | | []
|
+| enableVersions.ProxySQL | | []
|
+| enableVersions.RabbitMQ | | []
|
+| enableVersions.Redis | | []
|
+| enableVersions.Singlestore | | []
|
+| enableVersions.Solr | | []
|
+| enableVersions.ZooKeeper | | []
|
Specify each parameter using the `--set key=value[,key=value]` argument to `helm upgrade -i`. For example:
diff --git a/charts/kubedb-catalog/crds/catalog.kubedb.com_mssqlversions.yaml b/charts/kubedb-catalog/crds/catalog.kubedb.com_mssqlserverversions.yaml
similarity index 95%
rename from charts/kubedb-catalog/crds/catalog.kubedb.com_mssqlversions.yaml
rename to charts/kubedb-catalog/crds/catalog.kubedb.com_mssqlserverversions.yaml
index f65f553ad..ac91bb27d 100644
--- a/charts/kubedb-catalog/crds/catalog.kubedb.com_mssqlversions.yaml
+++ b/charts/kubedb-catalog/crds/catalog.kubedb.com_mssqlserverversions.yaml
@@ -3,7 +3,7 @@ kind: CustomResourceDefinition
metadata:
labels:
app.kubernetes.io/name: kubedb
- name: mssqlversions.catalog.kubedb.com
+ name: mssqlserverversions.catalog.kubedb.com
spec:
group: catalog.kubedb.com
names:
@@ -11,12 +11,12 @@ spec:
- datastore
- kubedb
- appscode
- kind: MSSQLVersion
- listKind: MSSQLVersionList
- plural: mssqlversions
+ kind: MSSQLServerVersion
+ listKind: MSSQLServerVersionList
+ plural: mssqlserverversions
shortNames:
- msversion
- singular: mssqlversion
+ singular: mssqlserverversion
scope: Cluster
versions:
- additionalPrinterColumns:
diff --git a/charts/kubedb-catalog/templates/_helpers.tpl b/charts/kubedb-catalog/templates/_helpers.tpl
index 65cc6e6ab..d18ea38d6 100644
--- a/charts/kubedb-catalog/templates/_helpers.tpl
+++ b/charts/kubedb-catalog/templates/_helpers.tpl
@@ -78,6 +78,10 @@ Create the name of the service account to use
{{ list .Values.proxies.kubernetes ._repo | compact | join "/" }}
{{- end }}
+{{- define "image.microsoft" -}}
+{{ list .Values.proxies.microsoft ._repo | compact | join "/" }}
+{{- end }}
+
{{- define "image.appscode" -}}
{{ list .Values.proxies.appscode ._repo | compact | join "/" }}
{{- end }}
diff --git a/charts/kubedb-catalog/templates/mssqlserver/mssqlserver-2022.yaml b/charts/kubedb-catalog/templates/mssqlserver/mssqlserver-2022.yaml
new file mode 100644
index 000000000..dbca811f0
--- /dev/null
+++ b/charts/kubedb-catalog/templates/mssqlserver/mssqlserver-2022.yaml
@@ -0,0 +1,24 @@
+{{ $featureGates := .Values.featureGates }}
+{{- if .Values.global }}
+ {{ $featureGates = mergeOverwrite dict .Values.featureGates .Values.global.featureGates }}
+{{- end }}
+
+{{ if $featureGates.MSSQLServer }}
+
+apiVersion: catalog.kubedb.com/v1alpha1
+kind: MSSQLServerVersion
+metadata:
+ name: '2022-cu12'
+ labels:
+ {{- include "kubedb-catalog.labels" . | nindent 4 }}
+spec:
+ coordinator:
+ image: '{{ include "image.ghcr" (merge (dict "_repo" "kubedb/mssql-coordinator") $) }}:v0.0.1'
+ db:
+ image: '{{ include "image.microsoft" (merge (dict "_repo" "mssql/server") $) }}:2022-CU12-ubuntu-22.04'
+ initContainer:
+ image: '{{ include "image.ghcr" (merge (dict "_repo" "kubedb/mssql-init") $) }}:2022-ubuntu-22-v1'
+ securityContext:
+ runAsUser: 10001
+ version: "2022"
+{{ end }}
diff --git a/charts/kubedb-catalog/values.openapiv3_schema.yaml b/charts/kubedb-catalog/values.openapiv3_schema.yaml
index 4fbbc2d07..e3cdf5bcb 100644
--- a/charts/kubedb-catalog/values.openapiv3_schema.yaml
+++ b/charts/kubedb-catalog/values.openapiv3_schema.yaml
@@ -30,6 +30,9 @@ properties:
kubernetes:
description: registry.k8s.io
type: string
+ microsoft:
+ description: mcr.microsoft.com
+ type: string
type: object
psp:
properties:
diff --git a/charts/kubedb-catalog/values.yaml b/charts/kubedb-catalog/values.yaml
index 265686fff..8060863e2 100644
--- a/charts/kubedb-catalog/values.yaml
+++ b/charts/kubedb-catalog/values.yaml
@@ -12,6 +12,7 @@ proxies:
dockerLibrary: ""
ghcr: ghcr.io
kubernetes: registry.k8s.io
+ microsoft: mcr.microsoft.com
appscode: r.appscode.com
# registryFQDN: harbor.appscode.ninja
@@ -20,6 +21,7 @@ proxies:
# dockerLibrary: ""
# ghcr: harbor.appscode.ninja/ghcr
# kubernetes: harbor.appscode.ninja/k8s
+# microsoft: harbor.appscode.ninja/mcr
# appscode: harbor.appscode.ninja/ac
featureGates:
@@ -29,8 +31,8 @@ featureGates:
Kafka: true
MariaDB: true
Memcached: true
- MicrosoftSQLServer: false
MongoDB: true
+ MSSQLServer: true
MySQL: true
PerconaXtraDB: true
PgBouncer: true
@@ -86,7 +88,7 @@ enableVersions:
Kafka: []
MariaDB: []
Memcached: []
- MicrosoftSQLServer: []
+ MSSQLServer: []
MongoDB: []
MySQL: []
PerconaXtraDB: []
diff --git a/charts/kubedb-crd-manager/README.md b/charts/kubedb-crd-manager/README.md
index 1969d6e04..57f351c46 100644
--- a/charts/kubedb-crd-manager/README.md
+++ b/charts/kubedb-crd-manager/README.md
@@ -45,49 +45,49 @@ The command removes all the Kubernetes components associated with the chart and
The following table lists the configurable parameters of the `kubedb-crd-manager` chart and their default values.
-| Parameter | Description | Default |
-|---------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|
-| registryFQDN | Docker registry fqdn used to pull app related images. Set this to use docker registry hosted at ${registryFQDN}/${registry}/${image} | ghcr.io
|
-| image.registry | Docker registry used to pull app container image | kubedb
|
-| image.repository | App container image | kubedb-crd-manager
|
-| image.tag | Overrides the image tag whose default is the chart appVersion. | ""
|
-| cleaner.registry | Docker registry used to pull Webhook cleaner image | appscode
|
-| cleaner.repository | Webhook cleaner container image | kubectl-nonroot
|
-| cleaner.tag | Webhook cleaner container image tag | v1.25
|
-| imagePullSecrets | Specify an array of imagePullSecrets. Secrets must be manually created in the namespace.
Example:
`helm template charts/kubedb-ops-manager \`
`--set imagePullSecrets[0].name=sec0 \`
`--set imagePullSecrets[1].name=sec1` | []
|
-| imagePullPolicy | Container image pull policy | IfNotPresent
|
-| nameOverride | | ""
|
-| fullnameOverride | | ""
|
-| podAnnotations | | {}
|
-| podSecurityContext | | {}
|
-| securityContext | Security options this container should run with | {"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"runAsNonRoot":true,"seccompProfile":{"type":"RuntimeDefault"}}
|
-| resources | | {}
|
-| nodeSelector | | {}
|
-| tolerations | | []
|
-| affinity | | {}
|
-| 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 |
|
-| featureGates.Druid | | false
|
-| featureGates.Elasticsearch | | false
|
-| featureGates.FerretDB | | false
|
-| featureGates.Kafka | | false
|
-| featureGates.MariaDB | | false
|
-| featureGates.Memcached | | false
|
-| featureGates.MicrosoftSQLServer | | false
|
-| featureGates.MongoDB | | false
|
-| featureGates.MySQL | | false
|
-| featureGates.PerconaXtraDB | | false
|
-| featureGates.PgBouncer | | false
|
-| featureGates.Pgpool | | false
|
-| featureGates.Postgres | | false
|
-| featureGates.ProxySQL | | false
|
-| featureGates.RabbitMQ | | false
|
-| featureGates.Redis | | false
|
-| featureGates.Singlestore | | false
|
-| featureGates.Solr | | false
|
-| featureGates.ZooKeeper | | false
|
-| removeUnusedCRDs | | false
|
+| Parameter | Description | Default |
+|----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|
+| registryFQDN | Docker registry fqdn used to pull app related images. Set this to use docker registry hosted at ${registryFQDN}/${registry}/${image} | ghcr.io
|
+| image.registry | Docker registry used to pull app container image | kubedb
|
+| image.repository | App container image | kubedb-crd-manager
|
+| image.tag | Overrides the image tag whose default is the chart appVersion. | ""
|
+| cleaner.registry | Docker registry used to pull Webhook cleaner image | appscode
|
+| cleaner.repository | Webhook cleaner container image | kubectl-nonroot
|
+| cleaner.tag | Webhook cleaner container image tag | v1.25
|
+| imagePullSecrets | Specify an array of imagePullSecrets. Secrets must be manually created in the namespace.
Example:
`helm template charts/kubedb-ops-manager \`
`--set imagePullSecrets[0].name=sec0 \`
`--set imagePullSecrets[1].name=sec1` | []
|
+| imagePullPolicy | Container image pull policy | IfNotPresent
|
+| nameOverride | | ""
|
+| fullnameOverride | | ""
|
+| podAnnotations | | {}
|
+| podSecurityContext | | {}
|
+| securityContext | Security options this container should run with | {"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"runAsNonRoot":true,"seccompProfile":{"type":"RuntimeDefault"}}
|
+| resources | | {}
|
+| nodeSelector | | {}
|
+| tolerations | | []
|
+| affinity | | {}
|
+| 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 |
|
+| featureGates.Druid | | false
|
+| featureGates.Elasticsearch | | false
|
+| featureGates.FerretDB | | false
|
+| featureGates.Kafka | | false
|
+| featureGates.MariaDB | | false
|
+| featureGates.Memcached | | false
|
+| featureGates.MongoDB | | false
|
+| featureGates.MSSQLServer | | true
|
+| featureGates.MySQL | | false
|
+| featureGates.PerconaXtraDB | | false
|
+| featureGates.PgBouncer | | false
|
+| featureGates.Pgpool | | false
|
+| featureGates.Postgres | | false
|
+| featureGates.ProxySQL | | false
|
+| featureGates.RabbitMQ | | false
|
+| featureGates.Redis | | false
|
+| featureGates.Singlestore | | false
|
+| featureGates.Solr | | false
|
+| featureGates.ZooKeeper | | false
|
+| removeUnusedCRDs | | false
|
Specify each parameter using the `--set key=value[,key=value]` argument to `helm upgrade -i`. For example:
diff --git a/charts/kubedb-crd-manager/ci/ci-values.yaml b/charts/kubedb-crd-manager/ci/ci-values.yaml
index 9c1be2944..836f25efe 100644
--- a/charts/kubedb-crd-manager/ci/ci-values.yaml
+++ b/charts/kubedb-crd-manager/ci/ci-values.yaml
@@ -6,7 +6,7 @@ featureGates:
Kafka: true
MariaDB: true
Memcached: false
- MicrosoftSQLServer: false
+ MSSQLServer: true
MongoDB: true
MySQL: true
PerconaXtraDB: false
diff --git a/charts/kubedb-crd-manager/values.yaml b/charts/kubedb-crd-manager/values.yaml
index 713177e25..5388f432a 100644
--- a/charts/kubedb-crd-manager/values.yaml
+++ b/charts/kubedb-crd-manager/values.yaml
@@ -82,8 +82,8 @@ featureGates:
Kafka: false
MariaDB: false
Memcached: false
- MicrosoftSQLServer: false
MongoDB: false
+ MSSQLServer: true
MySQL: false
PerconaXtraDB: false
PgBouncer: false
diff --git a/charts/kubedb-crds/crds/catalog.kubedb.com_mssqlversions.yaml b/charts/kubedb-crds/crds/catalog.kubedb.com_mssqlserverversions.yaml
similarity index 95%
rename from charts/kubedb-crds/crds/catalog.kubedb.com_mssqlversions.yaml
rename to charts/kubedb-crds/crds/catalog.kubedb.com_mssqlserverversions.yaml
index f65f553ad..ac91bb27d 100644
--- a/charts/kubedb-crds/crds/catalog.kubedb.com_mssqlversions.yaml
+++ b/charts/kubedb-crds/crds/catalog.kubedb.com_mssqlserverversions.yaml
@@ -3,7 +3,7 @@ kind: CustomResourceDefinition
metadata:
labels:
app.kubernetes.io/name: kubedb
- name: mssqlversions.catalog.kubedb.com
+ name: mssqlserverversions.catalog.kubedb.com
spec:
group: catalog.kubedb.com
names:
@@ -11,12 +11,12 @@ spec:
- datastore
- kubedb
- appscode
- kind: MSSQLVersion
- listKind: MSSQLVersionList
- plural: mssqlversions
+ kind: MSSQLServerVersion
+ listKind: MSSQLServerVersionList
+ plural: mssqlserverversions
shortNames:
- msversion
- singular: mssqlversion
+ singular: mssqlserverversion
scope: Cluster
versions:
- additionalPrinterColumns:
diff --git a/charts/kubedb-crds/crds/kubedb.com_mssqls.yaml b/charts/kubedb-crds/crds/kubedb.com_mssqlservers.yaml
similarity index 99%
rename from charts/kubedb-crds/crds/kubedb.com_mssqls.yaml
rename to charts/kubedb-crds/crds/kubedb.com_mssqlservers.yaml
index 73680274d..c5e349f12 100644
--- a/charts/kubedb-crds/crds/kubedb.com_mssqls.yaml
+++ b/charts/kubedb-crds/crds/kubedb.com_mssqlservers.yaml
@@ -3,7 +3,7 @@ kind: CustomResourceDefinition
metadata:
labels:
app.kubernetes.io/name: kubedb
- name: mssqls.kubedb.com
+ name: mssqlservers.kubedb.com
spec:
group: kubedb.com
names:
@@ -12,12 +12,12 @@ spec:
- kubedb
- appscode
- all
- kind: MSSQL
- listKind: MSSQLList
- plural: mssqls
+ kind: MSSQLServer
+ listKind: MSSQLServerList
+ plural: mssqlservers
shortNames:
- ms
- singular: mssql
+ singular: mssqlserver
scope: Namespaced
versions:
- additionalPrinterColumns:
diff --git a/charts/kubedb-kubestash-catalog/README.md b/charts/kubedb-kubestash-catalog/README.md
index d1ab496d1..45d238c4c 100644
--- a/charts/kubedb-kubestash-catalog/README.md
+++ b/charts/kubedb-kubestash-catalog/README.md
@@ -45,54 +45,55 @@ The command removes all the Kubernetes components associated with the chart and
The following table lists the configurable parameters of the `kubedb-kubestash-catalog` chart and their default values.
-| Parameter | Description | Default |
-|---------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------|
-| proxies.dockerHub | | ""
|
-| proxies.dockerLibrary | | ""
|
-| proxies.ghcr | | ghcr.io
|
-| proxies.kubernetes | | registry.k8s.io
|
-| proxies.appscode | | r.appscode.com
|
-| waitTimeout | registryFQDN: harbor.appscode.ninja proxies: dockerHub: harbor.appscode.ninja/dockerhub dockerLibrary: "" ghcr: harbor.appscode.ninja/ghcr kubernetes: harbor.appscode.ninja/k8s appscode: harbor.appscode.ninja/ac proxies: ghcr: harbor.appscode.ninja/ghcr Number of seconds to wait for the database to be ready before backup/restore process. | 300
|
-| featureGates.Druid | | false
|
-| featureGates.Elasticsearch | | true
|
-| featureGates.FerretDB | | false
|
-| featureGates.Kafka | | true
|
-| featureGates.MariaDB | | true
|
-| featureGates.Memcached | | true
|
-| featureGates.MicrosoftSQLServer | | false
|
-| featureGates.MongoDB | | true
|
-| featureGates.MySQL | | true
|
-| featureGates.PerconaXtraDB | | true
|
-| featureGates.PgBouncer | | true
|
-| featureGates.Pgpool | | false
|
-| featureGates.Postgres | | true
|
-| featureGates.ProxySQL | | true
|
-| featureGates.RabbitMQ | | false
|
-| featureGates.Redis | | true
|
-| featureGates.Singlestore | | true
|
-| featureGates.Solr | | false
|
-| featureGates.ZooKeeper | | true
|
-| elasticsearch.backup.args | Arguments to pass to `multielasticdump` command during backup process | ""
|
-| elasticsearch.restore.args | Arguments to pass to `multielasticdump` command during restore process | ""
|
-| opensearch.backup.args | Arguments to pass to `multielasticdump` command during backup process | ""
|
-| opensearch.restore.args | Arguments to pass to `multielasticdump` command during restore process | ""
|
-| kubedbmanifest.enabled | If true, deploys KubeDBManifest addon | true
|
-| mongodb.maxConcurrency | Maximum concurrency to perform backup or restore tasks | 3
|
-| mongodb.backup.args | Arguments to pass to `mongodump` command during backup process | ""
|
-| mongodb.restore.args | Arguments to pass to `mongorestore` command during restore process | ""
|
-| postgres.backup.cmd | Postgres dump command, can either be: pg_dumpall or pg_dump | "pg_dumpall"
|
-| postgres.backup.args | Arguments to pass to `backup.cmd` command during backup process | ""
|
-| postgres.restore.args | Arguments to pass to `psql` command during restore process | ""
|
-| mysql.backup.args | Arguments to pass to `mysqldump` command during bakcup process | ""
|
-| mysql.restore.args | Arguments to pass to `mysql` command during restore process | ""
|
-| mariadb.backup.args | Arguments to pass to `mariadb-dump` command during bakcup process | ""
|
-| mariadb.restore.args | Arguments to pass to `mariadb` command during restore process | ""
|
-| redis.backup.args | Arguments to pass to `redis-dump` command during bakcup process | ""
|
-| redis.restore.args | Arguments to pass to `redis` command during restore process | ""
|
-| singlestore.backup.args | Arguments to pass to `singlestore-dump` command during bakcup process | ""
|
-| singlestore.restore.args | Arguments to pass to `singlestore` command during restore process | ""
|
-| zookeeper.backup.args | Arguments to pass to `zk-dump` command during bakcup process | ""
|
-| zookeeper.restore.args | Arguments to pass to `zookeeper` command during restore process | ""
|
+| Parameter | Description | Default |
+|----------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------|
+| proxies.dockerHub | | ""
|
+| proxies.dockerLibrary | | ""
|
+| proxies.ghcr | | ghcr.io
|
+| proxies.kubernetes | | registry.k8s.io
|
+| proxies.microsoft | | mcr.microsoft.com
|
+| proxies.appscode | | r.appscode.com
|
+| waitTimeout | registryFQDN: harbor.appscode.ninja proxies: dockerHub: harbor.appscode.ninja/dockerhub dockerLibrary: "" ghcr: harbor.appscode.ninja/ghcr kubernetes: harbor.appscode.ninja/k8s microsoft: harbor.appscode.ninja/mcr appscode: harbor.appscode.ninja/ac proxies: ghcr: harbor.appscode.ninja/ghcr Number of seconds to wait for the database to be ready before backup/restore process. | 300
|
+| featureGates.Druid | | false
|
+| featureGates.Elasticsearch | | true
|
+| featureGates.FerretDB | | false
|
+| featureGates.Kafka | | true
|
+| featureGates.MariaDB | | true
|
+| featureGates.Memcached | | true
|
+| featureGates.MSSQLServer | | true
|
+| featureGates.MongoDB | | true
|
+| featureGates.MySQL | | true
|
+| featureGates.PerconaXtraDB | | true
|
+| featureGates.PgBouncer | | true
|
+| featureGates.Pgpool | | false
|
+| featureGates.Postgres | | true
|
+| featureGates.ProxySQL | | true
|
+| featureGates.RabbitMQ | | false
|
+| featureGates.Redis | | true
|
+| featureGates.Singlestore | | true
|
+| featureGates.Solr | | false
|
+| featureGates.ZooKeeper | | true
|
+| elasticsearch.backup.args | Arguments to pass to `multielasticdump` command during backup process | ""
|
+| elasticsearch.restore.args | Arguments to pass to `multielasticdump` command during restore process | ""
|
+| opensearch.backup.args | Arguments to pass to `multielasticdump` command during backup process | ""
|
+| opensearch.restore.args | Arguments to pass to `multielasticdump` command during restore process | ""
|
+| kubedbmanifest.enabled | If true, deploys KubeDBManifest addon | true
|
+| mongodb.maxConcurrency | Maximum concurrency to perform backup or restore tasks | 3
|
+| mongodb.backup.args | Arguments to pass to `mongodump` command during backup process | ""
|
+| mongodb.restore.args | Arguments to pass to `mongorestore` command during restore process | ""
|
+| postgres.backup.cmd | Postgres dump command, can either be: pg_dumpall or pg_dump | "pg_dumpall"
|
+| postgres.backup.args | Arguments to pass to `backup.cmd` command during backup process | ""
|
+| postgres.restore.args | Arguments to pass to `psql` command during restore process | ""
|
+| mysql.backup.args | Arguments to pass to `mysqldump` command during bakcup process | ""
|
+| mysql.restore.args | Arguments to pass to `mysql` command during restore process | ""
|
+| mariadb.backup.args | Arguments to pass to `mariadb-dump` command during bakcup process | ""
|
+| mariadb.restore.args | Arguments to pass to `mariadb` command during restore process | ""
|
+| redis.backup.args | Arguments to pass to `redis-dump` command during bakcup process | ""
|
+| redis.restore.args | Arguments to pass to `redis` command during restore process | ""
|
+| singlestore.backup.args | Arguments to pass to `singlestore-dump` command during bakcup process | ""
|
+| singlestore.restore.args | Arguments to pass to `singlestore` command during restore process | ""
|
+| zookeeper.backup.args | Arguments to pass to `zk-dump` command during bakcup process | ""
|
+| zookeeper.restore.args | Arguments to pass to `zookeeper` command during restore process | ""
|
Specify each parameter using the `--set key=value[,key=value]` argument to `helm upgrade -i`. For example:
diff --git a/charts/kubedb-kubestash-catalog/templates/_helpers.tpl b/charts/kubedb-kubestash-catalog/templates/_helpers.tpl
index 361790ecb..18450f085 100644
--- a/charts/kubedb-kubestash-catalog/templates/_helpers.tpl
+++ b/charts/kubedb-kubestash-catalog/templates/_helpers.tpl
@@ -78,6 +78,10 @@ Create the name of the service account to use
{{ list .Values.proxies.kubernetes ._repo | compact | join "/" }}
{{- end }}
+{{- define "image.microsoft" -}}
+{{ list .Values.proxies.microsoft ._repo | compact | join "/" }}
+{{- end }}
+
{{- define "image.appscode" -}}
{{ list .Values.proxies.appscode ._repo | compact | join "/" }}
{{- end }}
diff --git a/charts/kubedb-kubestash-catalog/values.openapiv3_schema.yaml b/charts/kubedb-kubestash-catalog/values.openapiv3_schema.yaml
index 535eb32e5..d38489d99 100644
--- a/charts/kubedb-kubestash-catalog/values.openapiv3_schema.yaml
+++ b/charts/kubedb-kubestash-catalog/values.openapiv3_schema.yaml
@@ -135,6 +135,9 @@ properties:
kubernetes:
description: registry.k8s.io
type: string
+ microsoft:
+ description: mcr.microsoft.com
+ type: string
type: object
redis:
description: StashRedisSpec is the schema for Stash Redis values file
diff --git a/charts/kubedb-kubestash-catalog/values.yaml b/charts/kubedb-kubestash-catalog/values.yaml
index 8bcdc0b64..08c933df5 100644
--- a/charts/kubedb-kubestash-catalog/values.yaml
+++ b/charts/kubedb-kubestash-catalog/values.yaml
@@ -5,6 +5,7 @@ proxies:
dockerLibrary: ""
ghcr: ghcr.io
kubernetes: registry.k8s.io
+ microsoft: mcr.microsoft.com
appscode: r.appscode.com
# registryFQDN: harbor.appscode.ninja
@@ -13,6 +14,7 @@ proxies:
# dockerLibrary: ""
# ghcr: harbor.appscode.ninja/ghcr
# kubernetes: harbor.appscode.ninja/k8s
+# microsoft: harbor.appscode.ninja/mcr
# appscode: harbor.appscode.ninja/ac
# proxies:
@@ -28,7 +30,7 @@ featureGates:
Kafka: true
MariaDB: true
Memcached: true
- MicrosoftSQLServer: false
+ MSSQLServer: true
MongoDB: true
MySQL: true
PerconaXtraDB: true
diff --git a/charts/kubedb-provider-aws/crds/aws.kubedb.com_providerconfigs.yaml b/charts/kubedb-provider-aws/crds/aws.kubedb.com_providerconfigs.yaml
index 3b6ce0235..5e888f6c6 100644
--- a/charts/kubedb-provider-aws/crds/aws.kubedb.com_providerconfigs.yaml
+++ b/charts/kubedb-provider-aws/crds/aws.kubedb.com_providerconfigs.yaml
@@ -2,14 +2,14 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: providerconfigs.aws.kubedb.com
spec:
group: aws.kubedb.com
names:
categories:
- crossplane
- - providerconfig
+ - provider
- aws
kind: ProviderConfig
listKind: ProviderConfigList
@@ -21,14 +21,14 @@ spec:
- jsonPath: .metadata.creationTimestamp
name: AGE
type: date
- - jsonPath: .spec.source
- name: SOURCE
+ - jsonPath: .spec.credentials.secretRef.name
+ name: SECRET-NAME
priority: 1
type: string
name: v1beta1
schema:
openAPIV3Schema:
- description: A ProviderConfig configures the AWS provider.
+ description: A ProviderConfig configures a AWS provider.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
@@ -45,52 +45,6 @@ spec:
spec:
description: A ProviderConfigSpec defines the desired state of a ProviderConfig.
properties:
- assumeRoleChain:
- description: AssumeRoleChain defines the options for assuming an IAM
- role
- items:
- description: AssumeRoleOptions define the options for assuming an
- IAM Role Fields are similar to the STS AssumeRoleOptions in the
- AWS SDK
- properties:
- externalID:
- description: ExternalID is the external ID used when assuming
- role.
- type: string
- roleARN:
- description: AssumeRoleARN to assume with provider credentials
- type: string
- tags:
- description: Tags is list of session tags that you want to pass.
- Each session tag consists of a key name and an associated
- value. For more information about session tags, see Tagging
- STS Sessions (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html).
- items:
- description: Tag is session tag that can be used to assume
- an IAM Role
- properties:
- key:
- description: Name of the tag. Key is a required field
- type: string
- value:
- description: Value of the tag. Value is a required field
- type: string
- required:
- - key
- - value
- type: object
- type: array
- transitiveTagKeys:
- description: TransitiveTagKeys is a list of keys for session
- tags that you want to set as transitive. If you set a tag
- key as transitive, the corresponding key and value passes
- to subsequent sessions in a role chain. For more information,
- see Chaining Roles with Session Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining).
- items:
- type: string
- type: array
- type: object
- type: array
credentials:
description: Credentials required to authenticate to this provider.
properties:
@@ -137,176 +91,13 @@ spec:
enum:
- None
- Secret
- - IRSA
- - WebIdentity
- - Upbound
+ - InjectedIdentity
+ - Environment
+ - Filesystem
type: string
- upbound:
- description: Upbound defines the options for authenticating using
- Upbound as an identity provider.
- properties:
- webIdentity:
- description: WebIdentity defines the options for assuming
- an IAM role with a Web Identity.
- properties:
- roleARN:
- description: AssumeRoleARN to assume with provider credentials
- type: string
- roleSessionName:
- description: RoleSessionName is the session name, if you
- wish to uniquely identify this session.
- type: string
- type: object
- type: object
- webIdentity:
- description: WebIdentity defines the options for assuming an IAM
- role with a Web Identity.
- properties:
- roleARN:
- description: AssumeRoleARN to assume with provider credentials
- type: string
- roleSessionName:
- description: RoleSessionName is the session name, if you wish
- to uniquely identify this session.
- type: string
- type: object
required:
- source
type: object
- endpoint:
- description: Endpoint is where you can override the default endpoint
- configuration of AWS calls made by the provider.
- properties:
- hostnameImmutable:
- description: "Specifies if the endpoint's hostname can be modified
- by the SDK's API client. \n If the hostname is mutable the SDK
- API clients may modify any part of the hostname based on the
- requirements of the API, (e.g. adding, or removing content in
- the hostname). Such as, Amazon S3 API client prefixing \"bucketname\"
- to the hostname, or changing the hostname service name component
- from \"s3.\" to \"s3-accesspoint.dualstack.\" for the dualstack
- endpoint of an S3 Accesspoint resource. \n Care should be taken
- when providing a custom endpoint for an API. If the endpoint
- hostname is mutable, and the client cannot modify the endpoint
- correctly, the operation call will most likely fail, or have
- undefined behavior. \n If hostname is immutable, the SDK API
- clients will not modify the hostname of the URL. This may cause
- the API client not to function correctly if the API requires
- the operation specific hostname values to be used by the client.
- \n This flag does not modify the API client's behavior if this
- endpoint will be used instead of Endpoint Discovery, or if the
- endpoint will be used to perform Endpoint Discovery. That behavior
- is configured via the API Client's Options. Note that this is
- effective only for resources that use AWS SDK v2."
- type: boolean
- partitionId:
- description: The AWS partition the endpoint belongs to.
- type: string
- services:
- description: Specifies the list of services you want endpoint
- to be used for
- items:
- type: string
- type: array
- signingMethod:
- description: The signing method that should be used for signing
- the requests to the endpoint.
- type: string
- signingName:
- description: The service name that should be used for signing
- the requests to the endpoint.
- type: string
- signingRegion:
- description: The region that should be used for signing the request
- to the endpoint. For IAM, which doesn't have any region, us-east-1
- is used to sign the requests, which is the only signing region
- of IAM.
- type: string
- source:
- description: The source of the Endpoint. By default, this will
- be ServiceMetadata. When providing a custom endpoint, you should
- set the source as Custom. If source is not provided when providing
- a custom endpoint, the SDK may not perform required host mutations
- correctly. Source should be used along with HostnameImmutable
- property as per the usage requirement. Note that this is effective
- only for resources that use AWS SDK v2.
- enum:
- - ServiceMetadata
- - Custom
- type: string
- url:
- description: URL lets you configure the endpoint URL to be used
- in SDK calls.
- properties:
- dynamic:
- description: Dynamic lets you configure the behavior of endpoint
- URL resolver.
- properties:
- host:
- description: Host is the address of the main host that
- the resolver will use to prepend protocol, service and
- region configurations. For example, the final URL for
- EC2 in us-east-1 looks like https://ec2.us-east-1.amazonaws.com
- You would need to use "amazonaws.com" as Host and "https"
- as protocol to have the resolver construct it.
- type: string
- protocol:
- description: Protocol is the HTTP protocol that will be
- used in the URL. Currently, only http and https are
- supported.
- enum:
- - http
- - https
- type: string
- required:
- - host
- - protocol
- type: object
- static:
- description: Static is the full URL you'd like the AWS SDK
- to use. Recommended for using tools like localstack where
- a single host is exposed for all services and regions.
- type: string
- type:
- description: You can provide a static URL that will be used
- regardless of the service and region by choosing Static
- type. Alternatively, you can provide configuration for dynamically
- resolving the URL with the config you provide once you set
- the type as Dynamic.
- enum:
- - Static
- - Dynamic
- type: string
- required:
- - type
- type: object
- required:
- - url
- type: object
- s3_use_path_style:
- description: Whether to enable the request to use path-style addressing,
- i.e., https://s3.amazonaws.com/BUCKET/KEY.
- type: boolean
- skip_credentials_validation:
- description: Whether to skip credentials validation via the STS API.
- This can be useful for testing and for AWS API implementations that
- do not have STS available.
- type: boolean
- skip_metadata_api_check:
- description: Whether to skip the AWS Metadata API check Useful for
- AWS API implementations that do not have a metadata API endpoint.
- type: boolean
- skip_region_validation:
- description: Whether to skip validation of provided region name. Useful
- for AWS-like implementations that use their own region names or
- to bypass the validation for regions that aren't publicly available
- yet.
- type: boolean
- skip_requesting_account_id:
- description: Whether to skip requesting the account ID. Useful for
- AWS API implementations that do not have the IAM, STS API, or metadata
- API
- type: boolean
required:
- credentials
type: object
@@ -346,9 +137,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
users:
description: Users of this provider configuration.
format: int64
diff --git a/charts/kubedb-provider-aws/crds/aws.kubedb.com_providerconfigusages.yaml b/charts/kubedb-provider-aws/crds/aws.kubedb.com_providerconfigusages.yaml
index 13e46a315..e6132749f 100644
--- a/charts/kubedb-provider-aws/crds/aws.kubedb.com_providerconfigusages.yaml
+++ b/charts/kubedb-provider-aws/crds/aws.kubedb.com_providerconfigusages.yaml
@@ -2,14 +2,14 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: providerconfigusages.aws.kubedb.com
spec:
group: aws.kubedb.com
names:
categories:
- crossplane
- - providerconfig
+ - provider
- aws
kind: ProviderConfigUsage
listKind: ProviderConfigUsageList
diff --git a/charts/kubedb-provider-aws/crds/aws.kubedb.com_storeconfigs.yaml b/charts/kubedb-provider-aws/crds/aws.kubedb.com_storeconfigs.yaml
index c70f462ef..a559e709e 100644
--- a/charts/kubedb-provider-aws/crds/aws.kubedb.com_storeconfigs.yaml
+++ b/charts/kubedb-provider-aws/crds/aws.kubedb.com_storeconfigs.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: storeconfigs.aws.kubedb.com
spec:
group: aws.kubedb.com
@@ -152,6 +152,146 @@ spec:
- 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
@@ -191,9 +331,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 96bf8f8c6..d3d0af53d 100644
--- a/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusterinstances.yaml
+++ b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusterinstances.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: clusterinstances.docdb.aws.kubedb.com
spec:
group: docdb.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -209,105 +209,21 @@ spec:
block.
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -346,6 +262,42 @@ spec:
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
@@ -444,13 +396,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.instanceClass is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.instanceClass)
- || (has(self.initProvider) && has(self.initProvider.instanceClass))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -593,9 +542,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 30a6c2e1c..adee86d00 100644
--- a/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusterparametergroups.yaml
+++ b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusterparametergroups.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: clusterparametergroups.docdb.aws.kubedb.com
spec:
group: docdb.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -90,6 +90,9 @@ spec:
value:
description: The value of the DocumentDB parameter.
type: string
+ required:
+ - name
+ - value
type: object
type: array
region:
@@ -111,84 +114,21 @@ spec:
block.
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -227,6 +167,42 @@ spec:
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
@@ -325,13 +301,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.family is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.family)
- || (has(self.initProvider) && has(self.initProvider.family))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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.
@@ -418,9 +391,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 68bb036af..c4b9f2445 100644
--- a/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusters.yaml
+++ b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusters.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: clusters.docdb.aws.kubedb.com
spec:
group: docdb.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -118,79 +118,6 @@ spec:
description: The ARN for the KMS encryption key. When specifying
kms_key_id, storage_encrypted needs to be set to 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
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
@@ -263,83 +190,6 @@ spec:
those inherited from the provider default_tags configuration
block.
type: object
- vpcSecurityGroupIdRefs:
- description: References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.
- 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
- vpcSecurityGroupIdSelector:
- description: Selector for a list of SecurityGroup in ec2 to populate
- vpcSecurityGroupIds.
- 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
vpcSecurityGroupIds:
description: List of VPC security groups to associate with the
Cluster
@@ -347,141 +197,21 @@ spec:
type: string
type: array
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- 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
- type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -520,6 +250,42 @@ spec:
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
@@ -618,9 +384,8 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
status:
description: ClusterStatus defines the observed state of Cluster.
properties:
@@ -792,9 +557,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index b64878a94..6194ae421 100644
--- a/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clustersnapshots.yaml
+++ b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clustersnapshots.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: clustersnapshots.docdb.aws.kubedb.com
spec:
group: docdb.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -70,121 +70,26 @@ spec:
description: The DocumentDB Cluster Identifier from which to take
the snapshot.
type: string
- dbClusterIdentifierRef:
- description: Reference to a Cluster in docdb to populate dbClusterIdentifier.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- dbClusterIdentifierSelector:
- description: Selector for a Cluster in docdb to populate dbClusterIdentifier.
- 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
region:
description: Region is the region you'd like your resource to
be created in.
type: string
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -223,6 +128,42 @@ spec:
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
@@ -321,9 +262,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -411,9 +353,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 90f699944..a5ec382e9 100644
--- a/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_eventsubscriptions.yaml
+++ b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_eventsubscriptions.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: eventsubscriptions.docdb.aws.kubedb.com
spec:
group: docdb.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -85,79 +85,6 @@ spec:
description: The Amazon Resource Name of the DocumentDB event
notification subscription
type: string
- snsTopicArnRef:
- description: Reference to a Topic in sns to populate snsTopicArn.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- snsTopicArnSelector:
- description: Selector for a Topic in sns to populate snsTopicArn.
- 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
sourceIds:
description: A list of identifiers of the event sources for which
events will be returned. If not specified, then all sources
@@ -187,83 +114,21 @@ spec:
block.
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -302,6 +167,42 @@ spec:
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
@@ -400,9 +301,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -496,9 +398,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 061d39940..506023d1f 100644
--- a/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_globalclusters.yaml
+++ b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_globalclusters.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: globalclusters.docdb.aws.kubedb.com
spec:
group: docdb.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -96,150 +96,27 @@ spec:
description: Amazon Resource Name (ARN) to use as the primary
DB Cluster of the Global Cluster on creation.
type: string
- sourceDbClusterIdentifierRef:
- description: Reference to a Cluster in docdb to populate sourceDbClusterIdentifier.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- sourceDbClusterIdentifierSelector:
- description: Selector for a Cluster in docdb to populate sourceDbClusterIdentifier.
- 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
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
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -278,6 +155,42 @@ spec:
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
@@ -376,13 +289,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.globalClusterIdentifier is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.globalClusterIdentifier)
- || (has(self.initProvider) && has(self.initProvider.globalClusterIdentifier))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -478,9 +388,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 2f714f936..53d270c98 100644
--- a/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_subnetgroups.yaml
+++ b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_subnetgroups.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: subnetgroups.docdb.aws.kubedb.com
spec:
group: docdb.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -170,61 +170,21 @@ spec:
block.
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- properties:
- description:
- description: The description of the docDB subnet 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -263,6 +223,42 @@ spec:
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
@@ -361,9 +357,8 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
status:
description: SubnetGroupStatus defines the observed state of SubnetGroup.
properties:
@@ -431,9 +426,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 173837518..18a86d21a 100644
--- a/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_contributorinsights.yaml
+++ b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_contributorinsights.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: contributorinsights.dynamodb.aws.kubedb.com
spec:
group: dynamodb.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -150,47 +150,21 @@ spec:
type: object
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- properties:
- indexName:
- description: The global secondary index name
- type: string
- type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -229,6 +203,42 @@ spec:
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
@@ -327,9 +337,8 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
status:
description: ContributorInsightsStatus defines the observed state of ContributorInsights.
properties:
@@ -377,9 +386,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 8c89cc9fa..3286d47b5 100644
--- a/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_globaltables.yaml
+++ b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_globaltables.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: globaltables.dynamodb.aws.kubedb.com
spec:
group: dynamodb.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -79,58 +79,26 @@ spec:
description: AWS region name of replica DynamoDB TableE.g.,
us-east-1
type: string
+ required:
+ - regionName
type: object
type: array
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- properties:
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -169,6 +137,42 @@ spec:
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
@@ -267,13 +271,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
- - message: spec.forProvider.replica is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.replica)
- || (has(self.initProvider) && has(self.initProvider.replica))'
+ - 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:
@@ -330,9 +331,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 24d695a17..908cfa720 100644
--- a/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_kinesisstreamingdestinations.yaml
+++ b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_kinesisstreamingdestinations.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: kinesisstreamingdestinations.dynamodb.aws.kubedb.com
spec:
group: dynamodb.aws.kubedb.com
@@ -57,7 +57,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -226,43 +226,21 @@ spec:
type: object
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -301,6 +279,42 @@ spec:
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
@@ -399,9 +413,8 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
status:
description: KinesisStreamingDestinationStatus defines the observed state
of KinesisStreamingDestination.
@@ -454,9 +467,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index cddbbdeb3..c1f9fb9ac 100644
--- a/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tableitems.yaml
+++ b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tableitems.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: tableitems.dynamodb.aws.kubedb.com
spec:
group: dynamodb.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -161,58 +161,21 @@ spec:
type: object
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -251,6 +214,42 @@ spec:
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
@@ -349,17 +348,12 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.hashKey is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.hashKey)
- || (has(self.initProvider) && has(self.initProvider.hashKey))'
- - message: spec.forProvider.item is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.item)
- || (has(self.initProvider) && has(self.initProvider.item))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -418,9 +412,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 94b594288..fa26de775 100644
--- a/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tablereplicas.yaml
+++ b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tablereplicas.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: tablereplicas.dynamodb.aws.kubedb.com
spec:
group: dynamodb.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -70,79 +70,6 @@ spec:
description: ARN of the main or global table which this resource
will replicate.
type: string
- globalTableArnRef:
- description: Reference to a Table in dynamodb to populate globalTableArn.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- globalTableArnSelector:
- description: Selector for a Table in dynamodb to populate globalTableArn.
- 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
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
@@ -150,79 +77,6 @@ spec:
Note: This attribute will not be populated with the ARN of default
keys.'
type: string
- kmsKeyArnRef:
- description: Reference to a Key in kms to populate kmsKeyArn.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- kmsKeyArnSelector:
- description: Selector for a Key in kms to populate kmsKeyArn.
- 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
pointInTimeRecovery:
description: Whether to enable Point In Time Recovery for the
replica. Default is false.
@@ -251,67 +105,21 @@ spec:
inherited from the provider default_tags configuration block.
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- properties:
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -350,6 +158,42 @@ spec:
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
@@ -448,9 +292,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -531,9 +376,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index caa737373..60c511d5c 100644
--- a/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tables.yaml
+++ b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tables.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: tables.dynamodb.aws.kubedb.com
spec:
group: dynamodb.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -78,6 +78,9 @@ spec:
description: Attribute type. Valid values are S (string),
N (number), B (binary).
type: string
+ required:
+ - name
+ - type
type: object
type: array
billingMode:
@@ -128,6 +131,10 @@ spec:
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:
@@ -161,6 +168,10 @@ spec:
rangeKey:
description: Name of the range key.
type: string
+ required:
+ - name
+ - projectionType
+ - rangeKey
type: object
type: array
pointInTimeRecovery:
@@ -172,6 +183,8 @@ spec:
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:
@@ -216,6 +229,8 @@ spec:
regionName:
description: Region name of the replica.
type: string
+ required:
+ - regionName
type: object
type: array
restoreDateTime:
@@ -253,6 +268,8 @@ spec:
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:
@@ -292,6 +309,8 @@ spec:
enabled:
description: Whether TTL is enabled.
type: boolean
+ required:
+ - attributeName
type: object
type: array
writeCapacity:
@@ -299,272 +318,21 @@ spec:
is PROVISIONED, this field is required.
type: number
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- 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:
- 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
- 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
- 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
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -603,6 +371,42 @@ spec:
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
@@ -701,9 +505,8 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
status:
description: TableStatus defines the observed state of Table.
properties:
@@ -1004,9 +807,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 7d191346e..12c056dcd 100644
--- a/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tags.yaml
+++ b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tags.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: tags.dynamodb.aws.kubedb.com
spec:
group: dynamodb.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -84,47 +84,21 @@ spec:
- key
- resourceArn
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- properties:
- value:
- description: Tag value.
- type: string
- type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -163,6 +137,42 @@ spec:
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
@@ -261,13 +271,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
- - message: spec.forProvider.value is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.value)
- || (has(self.initProvider) && has(self.initProvider.value))'
+ - 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:
@@ -321,9 +328,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 7802534db..b500364b9 100644
--- a/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_routes.yaml
+++ b/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_routes.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: routes.ec2.aws.kubedb.com
spec:
group: ec2.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -117,90 +117,21 @@ spec:
description: Identifier of a VPC peering connection.
type: string
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -239,6 +170,42 @@ spec:
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
@@ -337,13 +304,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
- - message: spec.forProvider.routeTableId is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.routeTableId)
- || (has(self.initProvider) && has(self.initProvider.routeTableId))'
+ - 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:
@@ -446,9 +410,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 017048c26..ba0f4736f 100644
--- a/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_securitygrouprules.yaml
+++ b/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_securitygrouprules.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: securitygrouprules.ec2.aws.kubedb.com
spec:
group: ec2.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -101,79 +101,6 @@ spec:
securityGroupId:
description: Security group to apply this rule to.
type: string
- securityGroupIdRef:
- description: Reference to a SecurityGroup in ec2 to populate securityGroupId.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- securityGroupIdSelector:
- description: Selector for a SecurityGroup in ec2 to populate securityGroupId.
- 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
self:
description: Whether the security group itself will be added as
a source to this ingress rule. Cannot be specified with cidr_blocks,
@@ -192,89 +119,21 @@ spec:
(inbound) or egress (outbound).
type: string
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -313,6 +172,42 @@ spec:
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
@@ -411,25 +306,18 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.fromPort is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.fromPort)
- || (has(self.initProvider) && has(self.initProvider.fromPort))'
- - message: spec.forProvider.protocol is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.protocol)
- || (has(self.initProvider) && has(self.initProvider.protocol))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
- - message: spec.forProvider.toPort is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.toPort)
- || (has(self.initProvider) && has(self.initProvider.toPort))'
- - message: spec.forProvider.type is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.type)
- || (has(self.initProvider) && has(self.initProvider.type))'
+ - 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:
@@ -525,9 +413,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 5e539abfc..87fd58872 100644
--- a/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_vpcpeeringconnections.yaml
+++ b/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_vpcpeeringconnections.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: vpcpeeringconnections.ec2.aws.kubedb.com
spec:
group: ec2.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -97,79 +97,6 @@ spec:
description: The ID of the VPC with which you are creating the
VPC Peering Connection.
type: string
- peerVpcIdRef:
- description: Reference to a VPC in ec2 to populate peerVpcId.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- peerVpcIdSelector:
- description: Selector for a VPC in ec2 to populate peerVpcId.
- 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
region:
description: Region is the region you'd like your resource to
be created in.
@@ -204,172 +131,22 @@ spec:
vpcId:
description: The ID of the requester VPC.
type: string
- vpcIdRef:
- description: Reference to a VPC in ec2 to populate vpcId.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- vpcIdSelector:
- description: Selector for a VPC in ec2 to populate vpcId.
- 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
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -408,6 +185,42 @@ spec:
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
@@ -506,9 +319,12 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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.
@@ -616,9 +432,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 07b5f7a66..7c63e4316 100644
--- a/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_clusters.yaml
+++ b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_clusters.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: clusters.elasticache.aws.kubedb.com
spec:
group: elasticache.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -136,6 +136,11 @@ spec:
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:
@@ -278,158 +283,6 @@ spec:
otherwise, the cluster is a standalone primary that is not part
of any replication group.
type: string
- replicationGroupIdRef:
- description: Reference to a ReplicationGroup in elasticache to
- populate replicationGroupId.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- replicationGroupIdSelector:
- description: Selector for a ReplicationGroup in elasticache to
- populate replicationGroupId.
- 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
- securityGroupIdRefs:
- description: References to SecurityGroup in ec2 to populate securityGroupIds.
- 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
- securityGroupIdSelector:
- description: Selector for a list of SecurityGroup in ec2 to populate
- securityGroupIds.
- 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
securityGroupIds:
description: – One or more VPC security groups associated with
the cache cluster
@@ -465,255 +318,6 @@ spec:
subnetGroupName:
description: create the resource.
type: string
- subnetGroupNameRef:
- description: Reference to a SubnetGroup in elasticache 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 in elasticache 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. 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
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- 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
- 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
tags:
additionalProperties:
type: string
@@ -728,31 +332,21 @@ spec:
inherited from the provider default_tags configuration block.
type: object
type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -791,6 +385,42 @@ spec:
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
@@ -889,9 +519,8 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
status:
description: ClusterStatus defines the observed state of Cluster.
properties:
@@ -1153,9 +782,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 41d05bbc5..36f08a12a 100644
--- a/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_parametergroups.yaml
+++ b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_parametergroups.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: parametergroups.elasticache.aws.kubedb.com
spec:
group: elasticache.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -85,6 +85,9 @@ spec:
value:
description: The value of the ElastiCache parameter.
type: string
+ required:
+ - name
+ - value
type: object
type: array
region:
@@ -106,79 +109,21 @@ spec:
block.
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -217,6 +162,42 @@ spec:
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
@@ -315,17 +296,12 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.family is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.family)
- || (has(self.initProvider) && has(self.initProvider.family))'
- - message: spec.forProvider.name is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.name)
- || (has(self.initProvider) && has(self.initProvider.name))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -406,9 +382,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index a4aff5bd2..bad071004 100644
--- a/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_replicationgroups.yaml
+++ b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_replicationgroups.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: replicationgroups.elasticache.aws.kubedb.com
spec:
group: elasticache.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -240,6 +240,11 @@ spec:
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:
@@ -297,83 +302,6 @@ spec:
this number will trigger a resizing operation before other settings
modifications. Valid values are 0 to 5.
type: number
- securityGroupIdRefs:
- description: References to SecurityGroup in ec2 to populate securityGroupIds.
- 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
- securityGroupIdSelector:
- description: Selector for a list of SecurityGroup in ec2 to populate
- securityGroupIds.
- 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
securityGroupIds:
description: One or more Amazon VPC security groups associated
with this replication group. Use this parameter only when you
@@ -521,236 +449,21 @@ spec:
type: string
type: array
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -789,6 +502,42 @@ spec:
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
@@ -887,9 +636,8 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
status:
description: ReplicationGroupStatus defines the observed state of ReplicationGroup.
properties:
@@ -1170,9 +918,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 378e8f6b5..6eef57c8e 100644
--- a/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_subnetgroups.yaml
+++ b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_subnetgroups.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: subnetgroups.elasticache.aws.kubedb.com
spec:
group: elasticache.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -73,83 +73,6 @@ spec:
description: Region is the region you'd like your resource to
be created in.
type: string
- subnetIdRefs:
- 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
- subnetIdSelector:
- 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
subnetIds:
description: – List of VPC Subnet IDs for the cache subnet group
items:
@@ -170,61 +93,21 @@ spec:
block.
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- properties:
- description:
- description: – Description for the cache subnet group.
- 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
- type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -263,6 +146,42 @@ spec:
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
@@ -361,9 +280,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -429,9 +349,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 0d678b43f..333da8877 100644
--- a/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_usergroups.yaml
+++ b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_usergroups.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: usergroups.elasticache.aws.kubedb.com
spec:
group: elasticache.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -169,61 +169,21 @@ spec:
type: string
type: array
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- properties:
- engine:
- description: The current supported value is REDIS.
- 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
- type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -262,6 +222,42 @@ spec:
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
@@ -360,13 +356,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.engine is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.engine)
- || (has(self.initProvider) && has(self.initProvider.engine))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -434,9 +427,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 17cf4f709..24b98f979 100644
--- a/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_users.yaml
+++ b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_users.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: users.elasticache.aws.kubedb.com
spec:
group: elasticache.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -101,6 +101,8 @@ spec:
description: 'Specifies the authentication type. Possible
options are: password, no-password-required or iam.'
type: string
+ required:
+ - type
type: object
type: array
engine:
@@ -149,78 +151,21 @@ spec:
description: The username of the user.
type: string
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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:
- 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
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -259,6 +204,42 @@ spec:
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
@@ -357,21 +338,14 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.accessString is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.accessString)
- || (has(self.initProvider) && has(self.initProvider.accessString))'
- - message: spec.forProvider.engine is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.engine)
- || (has(self.initProvider) && has(self.initProvider.engine))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
- - message: spec.forProvider.userName is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.userName)
- || (has(self.initProvider) && has(self.initProvider.userName))'
+ - 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:
@@ -452,9 +426,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index d714c9cc7..cff51f1a0 100644
--- a/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domainpolicies.yaml
+++ b/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domainpolicies.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: domainpolicies.elasticsearch.aws.kubedb.com
spec:
group: elasticsearch.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -73,128 +73,26 @@ spec:
domainName:
description: Name of the domain.
type: string
- domainNameRef:
- description: Reference to a Domain in elasticsearch to populate
- domainName.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- domainNameSelector:
- description: Selector for a Domain in elasticsearch to populate
- domainName.
- 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
region:
description: Region is the region you'd like your resource to
be created in.
type: string
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- properties:
- accessPolicies:
- description: IAM policy document specifying the access policies
- for the domain
- type: string
- type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -233,6 +131,42 @@ spec:
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
@@ -331,13 +265,12 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.accessPolicies is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.accessPolicies)
- || (has(self.initProvider) && has(self.initProvider.accessPolicies))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -386,9 +319,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index d0a1766a5..61610701f 100644
--- a/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domains.yaml
+++ b/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domains.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: domains.elasticsearch.aws.kubedb.com
spec:
group: elasticsearch.aws.kubedb.com
@@ -55,7 +55,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -125,6 +125,8 @@ spec:
type: object
type: object
type: array
+ required:
+ - enabled
type: object
type: array
autoTuneOptions:
@@ -161,12 +163,19 @@ spec:
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:
@@ -174,6 +183,8 @@ spec:
settings when disabling Auto-Tune. Valid values: DEFAULT_ROLLBACK
or NO_ROLLBACK.'
type: string
+ required:
+ - desiredState
type: object
type: array
clusterConfig:
@@ -264,6 +275,10 @@ spec:
userPoolId:
description: ID of the Cognito User Pool to use.
type: string
+ required:
+ - identityPoolId
+ - roleArn
+ - userPoolId
type: object
type: array
domainEndpointOptions:
@@ -318,6 +333,8 @@ spec:
volumeType:
description: Type of EBS volumes attached to data nodes.
type: string
+ required:
+ - ebsEnabled
type: object
type: array
elasticsearchVersion:
@@ -340,6 +357,8 @@ spec:
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:
@@ -361,6 +380,9 @@ spec:
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:
@@ -375,6 +397,8 @@ spec:
of a new domain requires an elasticsearch_version of 6.0
or greater.
type: boolean
+ required:
+ - enabled
type: object
type: array
region:
@@ -393,6 +417,8 @@ spec:
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:
@@ -430,384 +456,21 @@ spec:
type: object
type: array
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- 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
- 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:
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -846,6 +509,42 @@ spec:
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
@@ -944,9 +643,8 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
status:
description: DomainStatus defines the observed state of Domain.
properties:
@@ -1353,9 +1051,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 829f1d8a5..166097340 100644
--- a/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domainsamloptions.yaml
+++ b/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domainsamloptions.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: domainsamloptions.elasticsearch.aws.kubedb.com
spec:
group: elasticsearch.aws.kubedb.com
@@ -55,7 +55,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -89,6 +89,9 @@ spec:
description: The Metadata of the SAML application
in xml format.
type: string
+ required:
+ - entityId
+ - metadataContent
type: object
type: array
masterBackendRole:
@@ -132,87 +135,21 @@ spec:
type: object
type: array
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- properties:
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -251,6 +188,42 @@ spec:
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
@@ -349,9 +322,8 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
status:
description: DomainSAMLOptionsStatus defines the observed state of DomainSAMLOptions.
properties:
@@ -438,9 +410,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 0f6e12a0d..ed83daf73 100644
--- a/charts/kubedb-provider-aws/crds/kafka.aws.kubedb.com_clusters.yaml
+++ b/charts/kubedb-provider-aws/crds/kafka.aws.kubedb.com_clusters.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: clusters.kafka.aws.kubedb.com
spec:
group: kafka.aws.kubedb.com
@@ -55,7 +55,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -320,6 +320,8 @@ spec:
type: array
type: object
type: array
+ required:
+ - instanceType
type: object
type: array
clientAuthentication:
@@ -376,6 +378,9 @@ spec:
description: Revision of the MSK Configuration to use in
the cluster.
type: number
+ required:
+ - arn
+ - revision
type: object
type: array
encryptionInfo:
@@ -509,6 +514,92 @@ spec:
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:
@@ -522,6 +613,8 @@ spec:
description: 'Controls whether provisioned throughput
is enabled or not. Default value: false.'
type: boolean
+ required:
+ - enabled
type: object
type: array
s3:
@@ -531,6 +624,90 @@ spec:
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.'
@@ -539,10 +716,14 @@ spec:
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:
@@ -569,6 +750,8 @@ spec:
description: Indicates whether you want to enable
or disable the JMX Exporter.
type: boolean
+ required:
+ - enabledInBroker
type: object
type: array
nodeExporter:
@@ -580,10 +763,14 @@ spec:
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:
@@ -609,327 +796,21 @@ spec:
block.
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- 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
- encryptionInfo:
- description: Configuration block for specifying encryption. See
- below.
- items:
- properties:
- 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
- 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
- type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -968,6 +849,42 @@ spec:
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
@@ -1066,25 +983,16 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.brokerNodeGroupInfo is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.brokerNodeGroupInfo)
- || (has(self.initProvider) && has(self.initProvider.brokerNodeGroupInfo))'
- - message: spec.forProvider.clusterName is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.clusterName)
- || (has(self.initProvider) && has(self.initProvider.clusterName))'
- - message: spec.forProvider.kafkaVersion is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.kafkaVersion)
- || (has(self.initProvider) && has(self.initProvider.kafkaVersion))'
- - message: spec.forProvider.numberOfBrokerNodes is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.numberOfBrokerNodes)
- || (has(self.initProvider) && has(self.initProvider.numberOfBrokerNodes))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -1514,9 +1422,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 8cfd32708..21934d237 100644
--- a/charts/kubedb-provider-aws/crds/kafka.aws.kubedb.com_configurations.yaml
+++ b/charts/kubedb-provider-aws/crds/kafka.aws.kubedb.com_configurations.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: configurations.kafka.aws.kubedb.com
spec:
group: kafka.aws.kubedb.com
@@ -33,8 +33,9 @@ spec:
name: v1alpha1
schema:
openAPIV3Schema:
- description: Configuration is the Schema for the Configurations API. provider
- resource for managing an amazon managed streaming for kafka configuration
+ 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
@@ -56,7 +57,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -87,60 +88,21 @@ spec:
properties are documented in the MSK Developer Guide.
type: string
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- serverProperties:
- description: Contents of the server.properties file. Supported
- properties are documented in the MSK Developer Guide.
- type: string
- type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -179,6 +141,42 @@ spec:
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
@@ -277,17 +275,12 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.name is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.name)
- || (has(self.initProvider) && has(self.initProvider.name))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
- - message: spec.forProvider.serverProperties is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.serverProperties)
- || (has(self.initProvider) && has(self.initProvider.serverProperties))'
+ - 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:
@@ -351,9 +344,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index cdbec1a46..f27658343 100644
--- a/charts/kubedb-provider-aws/crds/kinesis.aws.kubedb.com_streams.yaml
+++ b/charts/kubedb-provider-aws/crds/kinesis.aws.kubedb.com_streams.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: streams.kinesis.aws.kubedb.com
spec:
group: kinesis.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -80,79 +80,6 @@ spec:
for encryption. You can also use a Kinesis-owned master key
by specifying the alias alias/aws/kinesis.
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
region:
description: Region is the region you'd like your resource to
be created in.
@@ -187,6 +114,8 @@ spec:
description: Specifies the capacity mode of the stream.
Must be either PROVISIONED or ON_DEMAND.
type: string
+ required:
+ - streamMode
type: object
type: array
tags:
@@ -204,99 +133,21 @@ spec:
block.
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -335,6 +186,42 @@ spec:
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
@@ -433,9 +320,8 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
status:
description: StreamStatus defines the observed state of Stream.
properties:
@@ -542,9 +428,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 152e0ac6c..60128337f 100644
--- a/charts/kubedb-provider-aws/crds/kms.aws.kubedb.com_keys.yaml
+++ b/charts/kubedb-provider-aws/crds/kms.aws.kubedb.com_keys.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: keys.kms.aws.kubedb.com
spec:
group: kms.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -141,114 +141,21 @@ spec:
block.
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -287,6 +194,42 @@ spec:
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
@@ -385,9 +328,8 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
status:
description: KeyStatus defines the observed state of Key.
properties:
@@ -505,9 +447,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 3e5f1966b..9a44ae4d8 100644
--- a/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_acls.yaml
+++ b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_acls.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: acls.memorydb.aws.kubedb.com
spec:
group: memorydb.aws.kubedb.com
@@ -55,7 +55,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -90,64 +90,21 @@ spec:
type: string
type: array
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- properties:
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -186,6 +143,42 @@ spec:
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
@@ -284,9 +277,8 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
status:
description: ACLStatus defines the observed state of ACL.
properties:
@@ -355,9 +347,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 43855e667..0b2164ee9 100644
--- a/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_clusters.yaml
+++ b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_clusters.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: clusters.memorydb.aws.kubedb.com
spec:
group: memorydb.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -95,79 +95,6 @@ spec:
description: ARN of the KMS key used to encrypt the cluster at
rest.
type: string
- kmsKeyArnRef:
- description: Reference to a Key in kms to populate kmsKeyArn.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- kmsKeyArnSelector:
- description: Selector for a Key in kms to populate kmsKeyArn.
- 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
maintenanceWindow:
description: 'Specifies the weekly time range during which maintenance
on the cluster is performed. Specify as a range in the format
@@ -199,83 +126,6 @@ spec:
description: Region is the region you'd like your resource to
be created in.
type: string
- securityGroupIdRefs:
- description: References to SecurityGroup in ec2 to populate securityGroupIds.
- 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
- securityGroupIdSelector:
- description: Selector for a list of SecurityGroup in ec2 to populate
- securityGroupIds.
- 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
securityGroupIds:
description: Set of VPC Security Group ID-s to associate with
this cluster.
@@ -311,190 +161,6 @@ spec:
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
- subnetGroupNameRef:
- description: Reference to a SubnetGroup in memorydb 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 in memorydb 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: 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
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- 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
tags:
additionalProperties:
type: string
@@ -515,31 +181,21 @@ spec:
to true.
type: boolean
type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -578,6 +234,42 @@ spec:
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
@@ -676,17 +368,12 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.aclName is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.aclName)
- || (has(self.initProvider) && has(self.initProvider.aclName))'
- - message: spec.forProvider.nodeType is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.nodeType)
- || (has(self.initProvider) && has(self.initProvider.nodeType))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -904,9 +591,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index ebe9d697e..1dc6b6e69 100644
--- a/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_parametergroups.yaml
+++ b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_parametergroups.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: parametergroups.memorydb.aws.kubedb.com
spec:
group: memorydb.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -85,6 +85,9 @@ spec:
value:
description: The value of the parameter.
type: string
+ required:
+ - name
+ - value
type: object
type: array
region:
@@ -106,79 +109,21 @@ spec:
block.
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -217,6 +162,42 @@ spec:
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
@@ -315,13 +296,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.family is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.family)
- || (has(self.initProvider) && has(self.initProvider.family))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -402,9 +380,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 2893883a6..f8b1ed638 100644
--- a/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_snapshots.yaml
+++ b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_snapshots.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: snapshots.memorydb.aws.kubedb.com
spec:
group: memorydb.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -69,156 +69,10 @@ spec:
clusterName:
description: Name of the MemoryDB cluster to take a snapshot of.
type: string
- clusterNameRef:
- description: Reference to a Cluster in memorydb to populate clusterName.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- clusterNameSelector:
- description: Selector for a Cluster in memorydb to populate clusterName.
- 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
kmsKeyArn:
description: ARN of the KMS key used to encrypt the snapshot at
rest.
type: string
- kmsKeyArnRef:
- description: Reference to a Key in kms to populate kmsKeyArn.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- kmsKeyArnSelector:
- description: Selector for a Key in kms to populate kmsKeyArn.
- 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
region:
description: Region is the region you'd like your resource to
be created in.
@@ -238,58 +92,21 @@ spec:
block.
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- properties:
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -328,6 +145,42 @@ spec:
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
@@ -426,9 +279,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -552,9 +406,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index e1b827802..6a5f82c44 100644
--- a/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_subnetgroups.yaml
+++ b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_subnetgroups.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: subnetgroups.memorydb.aws.kubedb.com
spec:
group: memorydb.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -73,83 +73,6 @@ spec:
description: Region is the region you'd like your resource to
be created in.
type: string
- subnetIdRefs:
- 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
- subnetIdSelector:
- 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
subnetIds:
description: Set of VPC Subnet ID-s for the subnet group. At least
one subnet must be provided.
@@ -171,61 +94,21 @@ spec:
block.
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- properties:
- description:
- description: Description for the subnet 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -264,6 +147,42 @@ spec:
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
@@ -362,9 +281,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -436,9 +356,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 115bf51e4..b3bad4c1d 100644
--- a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusteractivitystreams.yaml
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusteractivitystreams.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: clusteractivitystreams.rds.aws.kubedb.com
spec:
group: rds.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -78,79 +78,6 @@ spec:
is the key ARN, key ID, alias ARN, or alias name for the KMS
key.
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
mode:
description: 'Specifies the mode of the database activity stream.
Database events such as a change or access generate an activity
@@ -164,130 +91,22 @@ spec:
resourceArn:
description: The Amazon Resource Name (ARN) of the DB cluster.
type: string
- resourceArnRef:
- description: Reference to a Cluster in rds to populate resourceArn.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- resourceArnSelector:
- description: Selector for a Cluster in rds to populate resourceArn.
- 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
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -326,6 +145,42 @@ spec:
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
@@ -424,13 +279,14 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.mode is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.mode)
- || (has(self.initProvider) && has(self.initProvider.mode))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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.
@@ -499,9 +355,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 2ab130bad..d32e1bcc8 100644
--- a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterendpoints.yaml
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterendpoints.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: clusterendpoints.rds.aws.kubedb.com
spec:
group: rds.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -69,79 +69,6 @@ spec:
clusterIdentifier:
description: The cluster identifier.
type: string
- clusterIdentifierRef:
- description: Reference to a Cluster in rds 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 in rds 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
customEndpointType:
description: 'The type of the endpoint. One of: READER , ANY .'
type: string
@@ -178,75 +105,21 @@ spec:
block.
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- properties:
- 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
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -285,6 +158,42 @@ spec:
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
@@ -383,13 +292,12 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.customEndpointType is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.customEndpointType)
- || (has(self.initProvider) && has(self.initProvider.customEndpointType))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -472,9 +380,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 055fd895a..458288ec3 100644
--- a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterinstances.yaml
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterinstances.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: clusterinstances.rds.aws.kubedb.com
spec:
group: rds.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -87,79 +87,6 @@ spec:
description: Identifier of the aws_rds_cluster in which to launch
this instance.
type: string
- clusterIdentifierRef:
- description: Reference to a Cluster in rds 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 in rds 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
copyTagsToSnapshot:
description: defined tags from the DB instance to snapshots of
the DB instance. Default false.
@@ -272,79 +199,6 @@ spec:
on the AWS Documentation what IAM permissions are needed to
allow Enhanced Monitoring for RDS Instances.
type: string
- monitoringRoleArnRef:
- description: Reference to a Role in iam to populate monitoringRoleArn.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- monitoringRoleArnSelector:
- description: Selector for a Role in iam to populate monitoringRoleArn.
- 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
performanceInsightsEnabled:
description: Specifies whether Performance Insights is enabled
or not.
@@ -471,132 +325,21 @@ spec:
inherited from the provider default_tags configuration block.
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- 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
- performanceInsightsEnabled:
- description: Specifies whether Performance Insights is enabled
- or not.
- type: boolean
- 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
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -635,6 +378,42 @@ spec:
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
@@ -733,17 +512,14 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.engine is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.engine)
- || (has(self.initProvider) && has(self.initProvider.engine))'
- - message: spec.forProvider.instanceClass is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.instanceClass)
- || (has(self.initProvider) && has(self.initProvider.instanceClass))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -923,9 +699,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 4bd06d46f..c42b25440 100644
--- a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterparametergroups.yaml
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterparametergroups.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: clusterparametergroups.rds.aws.kubedb.com
spec:
group: rds.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -90,6 +90,9 @@ spec:
value:
description: The value of the DB parameter.
type: string
+ required:
+ - name
+ - value
type: object
type: array
region:
@@ -111,84 +114,21 @@ spec:
block.
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -227,6 +167,42 @@ spec:
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
@@ -325,13 +301,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.family is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.family)
- || (has(self.initProvider) && has(self.initProvider.family))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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.
@@ -418,9 +391,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 0ead26dac..6d7d7b94d 100644
--- a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterroleassociations.yaml
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterroleassociations.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: clusterroleassociations.rds.aws.kubedb.com
spec:
group: rds.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -69,79 +69,6 @@ spec:
dbClusterIdentifier:
description: DB Cluster Identifier to associate with the IAM Role.
type: string
- dbClusterIdentifierRef:
- description: Reference to a Cluster in rds to populate dbClusterIdentifier.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- dbClusterIdentifierSelector:
- description: Selector for a Cluster in rds to populate dbClusterIdentifier.
- 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
featureName:
description: Name of the feature for association. This can be
found in the AWS documentation relevant to the integration or
@@ -156,124 +83,22 @@ spec:
description: Amazon Resource Name (ARN) of the IAM Role to associate
with the DB Cluster.
type: string
- roleArnRef:
- description: Reference to a Role in iam to populate roleArn.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- roleArnSelector:
- description: Selector for a Role in iam to populate roleArn.
- 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
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- properties:
- 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
- type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -312,6 +137,42 @@ spec:
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
@@ -410,13 +271,14 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.featureName is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.featureName)
- || (has(self.initProvider) && has(self.initProvider.featureName))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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.
@@ -474,9 +336,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index ee103c75e..3c846706f 100644
--- a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusters.yaml
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusters.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: clusters.rds.aws.kubedb.com
spec:
group: rds.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -273,79 +273,6 @@ spec:
description: ARN for the KMS encryption key. When specifying kms_key_id,
storage_encrypted needs to be set to 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
manageMasterUserPassword:
description: Set to true to allow RDS to manage the master user
password in Secrets Manager. Cannot be set if master_password
@@ -378,79 +305,6 @@ spec:
the key ARN or alias ARN. If not specified, the default KMS
key for your Amazon Web Services account is used.
type: string
- masterUserSecretKmsKeyIdRef:
- description: Reference to a Key in kms to populate masterUserSecretKmsKeyId.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- masterUserSecretKmsKeyIdSelector:
- description: Selector for a Key in kms to populate masterUserSecretKmsKeyId.
- 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
masterUsername:
description: Username for the master DB user. Please refer to
the RDS Naming Constraints. This argument does not support in-place
@@ -588,6 +442,82 @@ spec:
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
@@ -601,6 +531,10 @@ spec:
description: Version of the source engine used to make the
backup
type: string
+ required:
+ - ingestionRole
+ - sourceEngine
+ - sourceEngineVersion
type: object
type: array
scalingConfiguration:
@@ -666,6 +600,9 @@ spec:
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:
@@ -717,446 +654,70 @@ spec:
description: Map of tags assigned to the resource, including those
inherited from the provider default_tags configuration block.
type: object
- vpcSecurityGroupIdRefs:
- description: References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.
+ vpcSecurityGroupIds:
+ description: List of VPC security groups to associate with the
+ Cluster
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: string
type: array
- vpcSecurityGroupIdSelector:
- description: Selector for a list of SecurityGroup in ec2 to populate
- vpcSecurityGroupIds.
+ 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:
- 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
- vpcSecurityGroupIds:
- description: List of VPC security groups to associate with the
- Cluster
- items:
- type: string
- type: array
- type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- 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
- 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
- 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
- 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.
+ resolution:
+ default: Required
+ description: Resolution specifies whether resolution of this
+ reference is required. The default is 'Required', which
+ means the reconcile will fail if the reference cannot be
+ resolved. 'Optional' means this reference will be a no-op
+ if it cannot be resolved.
+ enum:
+ - Required
+ - Optional
+ type: string
+ resolve:
+ description: Resolve specifies when this reference should
+ be resolved. The default is 'IfNotPresent', which will attempt
+ to resolve the reference only when the corresponding field
+ is not present. Use 'Always' to resolve the reference on
+ every reconcile.
+ enum:
+ - Always
+ - IfNotPresent
+ type: string
type: object
+ required:
+ - name
type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
- 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.
+ 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.
@@ -1287,13 +848,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.engine is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.engine)
- || (has(self.initProvider) && has(self.initProvider.engine))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -1718,9 +1276,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 1482e565d..5599deee3 100644
--- a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clustersnapshots.yaml
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clustersnapshots.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: clustersnapshots.rds.aws.kubedb.com
spec:
group: rds.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -70,79 +70,6 @@ spec:
description: The DB Cluster Identifier from which to take the
snapshot.
type: string
- dbClusterIdentifierRef:
- description: Reference to a Cluster in rds to populate dbClusterIdentifier.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- dbClusterIdentifierSelector:
- description: Selector for a Cluster in rds to populate dbClusterIdentifier.
- 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
dbClusterSnapshotIdentifier:
description: The Identifier for the snapshot.
type: string
@@ -165,61 +92,21 @@ spec:
block.
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- properties:
- dbClusterSnapshotIdentifier:
- description: The Identifier for the snapshot.
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -258,6 +145,42 @@ spec:
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
@@ -356,14 +279,12 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.dbClusterSnapshotIdentifier is a required
- parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.dbClusterSnapshotIdentifier)
- || (has(self.initProvider) && has(self.initProvider.dbClusterSnapshotIdentifier))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -472,9 +393,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index c38b7c6ac..612e17a2f 100644
--- a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_dbinstanceautomatedbackupsreplications.yaml
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_dbinstanceautomatedbackupsreplications.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: dbinstanceautomatedbackupsreplications.rds.aws.kubedb.com
spec:
group: rds.aws.kubedb.com
@@ -57,7 +57,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -73,79 +73,6 @@ spec:
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
- 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
preSignedUrl:
description: A URL that contains a Signature Version 4 signed
request for the StartDBInstanceAutomatedBackupsReplication action
@@ -163,127 +90,22 @@ spec:
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
- sourceDbInstanceArnRef:
- description: Reference to a Instance in rds to populate sourceDbInstanceArn.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- sourceDbInstanceArnSelector:
- description: Selector for a Instance in rds to populate sourceDbInstanceArn.
- 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
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- properties:
- 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
type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -322,6 +144,42 @@ spec:
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
@@ -420,9 +278,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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.
@@ -486,9 +345,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 235b829ab..4ef4a69f3 100644
--- a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_dbsnapshotcopies.yaml
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_dbsnapshotcopies.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: dbsnapshotcopies.rds.aws.kubedb.com
spec:
group: rds.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -75,79 +75,6 @@ spec:
kmsKeyId:
description: KMS key ID.
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
optionGroupName:
description: The name of an option group to associate with the
copy of the snapshot.
@@ -163,79 +90,6 @@ spec:
sourceDbSnapshotIdentifier:
description: Snapshot identifier of the source snapshot.
type: string
- sourceDbSnapshotIdentifierRef:
- description: Reference to a Snapshot in rds to populate sourceDbSnapshotIdentifier.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- sourceDbSnapshotIdentifierSelector:
- description: Selector for a Snapshot in rds to populate sourceDbSnapshotIdentifier.
- 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
@@ -257,78 +111,21 @@ spec:
description: The Identifier for the snapshot.
type: string
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- properties:
- copyTags:
- description: Whether to copy existing tags. Defaults to false.
- type: boolean
- destinationRegion:
- description: The Destination region to place snapshot copy.
- 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
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -367,6 +164,42 @@ spec:
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
@@ -465,13 +298,12 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
- - message: spec.forProvider.targetDbSnapshotIdentifier is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.targetDbSnapshotIdentifier)
- || (has(self.initProvider) && has(self.initProvider.targetDbSnapshotIdentifier))'
+ - 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:
@@ -595,9 +427,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index f6480dbf6..49210b9b9 100644
--- a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_eventsubscriptions.yaml
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_eventsubscriptions.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: eventsubscriptions.rds.aws.kubedb.com
spec:
group: rds.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -84,79 +84,6 @@ spec:
snsTopic:
description: The SNS topic to send events to.
type: string
- snsTopicRef:
- description: Reference to a Topic in sns to populate snsTopic.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- snsTopicSelector:
- description: Selector for a Topic in sns to populate snsTopic.
- 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
sourceIds:
description: A list of identifiers of the event sources for which
events will be returned. If not specified, then all sources
@@ -186,83 +113,21 @@ spec:
block.
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -301,6 +166,42 @@ spec:
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
@@ -399,9 +300,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -494,9 +396,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 058317739..9883c4a30 100644
--- a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_globalclusters.yaml
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_globalclusters.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: globalclusters.rds.aws.kubedb.com
spec:
group: rds.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -101,155 +101,27 @@ spec:
description: Amazon Resource Name (ARN) to use as the primary
DB Cluster of the Global Cluster on creation.
type: string
- sourceDbClusterIdentifierRef:
- description: Reference to a Cluster in rds to populate sourceDbClusterIdentifier.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- sourceDbClusterIdentifierSelector:
- description: Selector for a Cluster in rds to populate sourceDbClusterIdentifier.
- 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
- 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
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -288,6 +160,42 @@ spec:
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
@@ -386,9 +294,8 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - message: region is a required parameter
+ rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)
status:
description: GlobalClusterStatus defines the observed state of GlobalCluster.
properties:
@@ -489,9 +396,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 42e07a523..67bf2de32 100644
--- a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_instanceroleassociations.yaml
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_instanceroleassociations.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: instanceroleassociations.rds.aws.kubedb.com
spec:
group: rds.aws.kubedb.com
@@ -57,7 +57,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -71,79 +71,6 @@ spec:
description: DB Instance Identifier to associate with the IAM
Role.
type: string
- dbInstanceIdentifierRef:
- description: Reference to a Instance in rds to populate dbInstanceIdentifier.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- dbInstanceIdentifierSelector:
- description: Selector for a Instance in rds to populate dbInstanceIdentifier.
- 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
featureName:
description: Name of the feature for association. This can be
found in the AWS documentation relevant to the integration or
@@ -158,124 +85,22 @@ spec:
description: Amazon Resource Name (ARN) of the IAM Role to associate
with the DB Instance.
type: string
- roleArnRef:
- description: Reference to a Role in iam to populate roleArn.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- roleArnSelector:
- description: Selector for a Role in iam to populate roleArn.
- 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
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- properties:
- 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
- type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -314,6 +139,42 @@ spec:
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
@@ -412,13 +273,14 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.featureName is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.featureName)
- || (has(self.initProvider) && has(self.initProvider.featureName))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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.
@@ -477,9 +339,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index bb0c1e198..38ed02773 100644
--- a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_instances.yaml
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_instances.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: instances.rds.aws.kubedb.com
spec:
group: rds.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -263,7 +263,7 @@ spec:
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.kubedb.com/providers/kubedb.dev/provider-aws/latest/resources/rds.aws.kubedb.com/Cluster/v1alpha1)'s
+ 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).
@@ -276,7 +276,7 @@ spec:
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.kubedb.com/providers/kubedb.dev/provider-aws/latest/resources/rds.aws.kubedb.com/Cluster/v1alpha1)'s
+ 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:
@@ -397,79 +397,6 @@ spec:
the key ARN or alias ARN. If not specified, the default KMS
key for your Amazon Web Services account is used.
type: string
- masterUserSecretKmsKeyIdRef:
- description: Reference to a Key in kms to populate masterUserSecretKmsKeyId.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- masterUserSecretKmsKeyIdSelector:
- description: Selector for a Key in kms to populate masterUserSecretKmsKeyId.
- 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
maxAllocatedStorage:
description: When configured, the upper limit to which Amazon
RDS can automatically scale the storage of the DB instance.
@@ -489,79 +416,6 @@ spec:
more information on the AWS Documentation what IAM permissions
are needed to allow Enhanced Monitoring for RDS Instances.
type: string
- monitoringRoleArnRef:
- description: Reference to a Role in iam to populate monitoringRoleArn.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- monitoringRoleArnSelector:
- description: Selector for a Role in iam to populate monitoringRoleArn.
- 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
multiAz:
description: Specifies if the RDS instance is multi-AZ
type: boolean
@@ -647,79 +501,6 @@ spec:
Instance Replication and Working with PostgreSQL and MySQL Read
Replicas for more information on using Replication.
type: string
- replicateSourceDbRef:
- description: Reference to a Instance in rds to populate replicateSourceDb.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- replicateSourceDbSelector:
- description: Selector for a Instance in rds to populate replicateSourceDb.
- 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
restoreToPointInTime:
description: A configuration block for restoring a DB instance
to an arbitrary point in time. Requires the identifier argument
@@ -777,6 +558,11 @@ spec:
description: Version of the source engine used to make the
backup
type: string
+ required:
+ - bucketName
+ - ingestionRole
+ - sourceEngine
+ - sourceEngineVersion
type: object
type: array
skipFinalSnapshot:
@@ -832,458 +618,27 @@ spec:
description: Username for the master DB user. Cannot be specified
for a replica.
type: string
- vpcSecurityGroupIdRefs:
- description: References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.
- 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
- vpcSecurityGroupIdSelector:
- description: Selector for a list of SecurityGroup in ec2 to populate
- vpcSecurityGroupIds.
- 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
vpcSecurityGroupIds:
description: List of VPC security groups to associate.
items:
type: string
type: array
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- 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.kubedb.com/providers/kubedb.dev/provider-aws/latest/resources/rds.aws.kubedb.com/Cluster/v1alpha1)'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.kubedb.com/providers/kubedb.dev/provider-aws/latest/resources/rds.aws.kubedb.com/Cluster/v1alpha1)'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
- 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
- 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
- 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
- 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
- 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
- type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -1322,6 +677,42 @@ spec:
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
@@ -1420,13 +811,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.instanceClass is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.instanceClass)
- || (has(self.initProvider) && has(self.initProvider.instanceClass))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -1559,7 +947,7 @@ spec:
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.kubedb.com/providers/kubedb.dev/provider-aws/latest/resources/rds.aws.kubedb.com/Cluster/v1alpha1)'s
+ 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).
@@ -1572,7 +960,7 @@ spec:
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.kubedb.com/providers/kubedb.dev/provider-aws/latest/resources/rds.aws.kubedb.com/Cluster/v1alpha1)'s
+ 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:
@@ -1910,9 +1298,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 0d659c30e..57c34ccdc 100644
--- a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_optiongroups.yaml
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_optiongroups.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: optiongroups.rds.aws.kubedb.com
spec:
group: rds.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -98,6 +98,9 @@ spec:
value:
description: The Value of the setting.
type: string
+ required:
+ - name
+ - value
type: object
type: array
port:
@@ -113,6 +116,8 @@ spec:
items:
type: string
type: array
+ required:
+ - optionName
type: object
type: array
optionGroupDescription:
@@ -137,110 +142,21 @@ spec:
block.
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -279,6 +195,42 @@ spec:
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
@@ -377,17 +329,12 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.engineName is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.engineName)
- || (has(self.initProvider) && has(self.initProvider.engineName))'
- - message: spec.forProvider.majorEngineVersion is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.majorEngineVersion)
- || (has(self.initProvider) && has(self.initProvider.majorEngineVersion))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -499,9 +446,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index b8826f2e9..f622db99b 100644
--- a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_parametergroups.yaml
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_parametergroups.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: parametergroups.rds.aws.kubedb.com
spec:
group: rds.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -90,6 +90,9 @@ spec:
value:
description: The value of the DB parameter.
type: string
+ required:
+ - name
+ - value
type: object
type: array
region:
@@ -111,84 +114,21 @@ spec:
block.
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -227,6 +167,42 @@ spec:
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
@@ -325,13 +301,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.family is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.family)
- || (has(self.initProvider) && has(self.initProvider.family))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -417,9 +390,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 4dc23db60..c37ce47df 100644
--- a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxies.yaml
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxies.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: proxies.rds.aws.kubedb.com
spec:
group: rds.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -97,84 +97,6 @@ spec:
RDS DB instance or Aurora DB cluster. These secrets are
stored within Amazon Secrets Manager.
type: string
- secretArnRef:
- description: Reference to a Secret in secretsmanager to
- populate secretArn.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution
- of this reference is required. The default is
- 'Required', which means the reconcile will fail
- if the reference cannot be resolved. 'Optional'
- means this reference will be a no-op if it cannot
- be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference
- should be resolved. The default is 'IfNotPresent',
- which will attempt to resolve the reference only
- when the corresponding field is not present. Use
- 'Always' to resolve the reference on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- secretArnSelector:
- description: Selector for a Secret in secretsmanager to
- populate secretArn.
- 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
username:
description: The name of the database user to which the
proxy connects.
@@ -218,79 +140,6 @@ spec:
description: The Amazon Resource Name (ARN) of the IAM role that
the proxy uses to access secrets in AWS Secrets Manager.
type: string
- roleArnRef:
- description: Reference to a Role in iam to populate roleArn.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- roleArnSelector:
- description: Selector for a Role in iam to populate roleArn.
- 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
@@ -305,83 +154,6 @@ spec:
those inherited from the provider default_tags configuration
block.
type: object
- vpcSecurityGroupIdRefs:
- description: References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.
- 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
- vpcSecurityGroupIdSelector:
- description: Selector for a list of SecurityGroup in ec2 to populate
- vpcSecurityGroupIds.
- 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
vpcSecurityGroupIds:
description: One or more VPC security group IDs to associate with
the new proxy.
@@ -395,124 +167,21 @@ spec:
type: string
type: array
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- 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
- 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
- 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
- vpcSubnetIds:
- description: One or more VPC subnet IDs to associate with the
- new proxy.
- items:
- type: string
- type: array
- type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -551,6 +220,42 @@ spec:
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
@@ -649,21 +354,16 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.auth is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.auth)
- || (has(self.initProvider) && has(self.initProvider.auth))'
- - message: spec.forProvider.engineFamily is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.engineFamily)
- || (has(self.initProvider) && has(self.initProvider.engineFamily))'
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
- - message: spec.forProvider.vpcSubnetIds is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.vpcSubnetIds)
- || (has(self.initProvider) && has(self.initProvider.vpcSubnetIds))'
+ - 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:
@@ -810,9 +510,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index cc4e42371..2392da533 100644
--- a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxydefaulttargetgroups.yaml
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxydefaulttargetgroups.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: proxydefaulttargetgroups.rds.aws.kubedb.com
spec:
group: rds.aws.kubedb.com
@@ -57,7 +57,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -122,174 +122,26 @@ spec:
dbProxyName:
description: Name of the RDS DB Proxy.
type: string
- dbProxyNameRef:
- description: Reference to a Proxy in rds to populate dbProxyName.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- dbProxyNameSelector:
- description: Selector for a Proxy in rds to populate dbProxyName.
- 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
region:
description: Region is the region you'd like your resource to
be created in.
type: string
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- 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
- type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -328,6 +180,42 @@ spec:
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
@@ -426,9 +314,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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.
@@ -534,9 +423,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 7216c1a98..ac050e6dd 100644
--- a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxyendpoints.yaml
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxyendpoints.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: proxyendpoints.rds.aws.kubedb.com
spec:
group: rds.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -70,79 +70,6 @@ spec:
description: The name of the DB proxy associated with the DB proxy
endpoint that you create.
type: string
- dbProxyNameRef:
- description: Reference to a Proxy in rds to populate dbProxyName.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- dbProxyNameSelector:
- description: Selector for a Proxy in rds to populate dbProxyName.
- 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
region:
description: Region is the region you'd like your resource to
be created in.
@@ -161,83 +88,6 @@ spec:
for read/write or read-only operations. The default is READ_WRITE.
Valid values are READ_WRITE and READ_ONLY.
type: string
- vpcSecurityGroupIdRefs:
- description: References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.
- 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
- vpcSecurityGroupIdSelector:
- description: Selector for a list of SecurityGroup in ec2 to populate
- vpcSecurityGroupIds.
- 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
vpcSecurityGroupIds:
description: One or more VPC security group IDs to associate with
the new proxy.
@@ -250,65 +100,24 @@ spec:
items:
type: string
type: array
+ required:
+ - dbProxyName
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- properties:
- 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
- vpcSubnetIds:
- description: One or more VPC subnet IDs to associate with the
- new proxy.
- items:
- type: string
- type: array
- type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -347,6 +156,42 @@ spec:
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
@@ -445,13 +290,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
- - message: spec.forProvider.vpcSubnetIds is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.vpcSubnetIds)
- || (has(self.initProvider) && has(self.initProvider.vpcSubnetIds))'
+ - 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:
@@ -540,9 +382,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index f768473fa..122355d70 100644
--- a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxytargets.yaml
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxytargets.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: proxytargets.rds.aws.kubedb.com
spec:
group: rds.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -72,155 +72,9 @@ spec:
dbInstanceIdentifier:
description: DB instance identifier.
type: string
- dbInstanceIdentifierRef:
- description: Reference to a Instance in rds to populate dbInstanceIdentifier.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- dbInstanceIdentifierSelector:
- description: Selector for a Instance in rds to populate dbInstanceIdentifier.
- 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
dbProxyName:
description: The name of the DB proxy.
type: string
- dbProxyNameRef:
- description: Reference to a Proxy in rds to populate dbProxyName.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- dbProxyNameSelector:
- description: Selector for a Proxy in rds to populate dbProxyName.
- 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
region:
description: Region is the region you'd like your resource to
be created in.
@@ -229,50 +83,21 @@ spec:
description: The name of the target group.
type: string
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- properties:
- dbClusterIdentifier:
- description: DB cluster identifier.
- type: string
- targetGroupName:
- description: The name of the target group.
- type: string
- type: object
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -311,6 +136,42 @@ spec:
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
@@ -409,13 +270,12 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
- - message: spec.forProvider.targetGroupName is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.targetGroupName)
- || (has(self.initProvider) && has(self.initProvider.targetGroupName))'
+ - 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:
@@ -496,9 +356,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 8050c0742..52884d7be 100644
--- a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_snapshots.yaml
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_snapshots.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: snapshots.rds.aws.kubedb.com
spec:
group: rds.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -70,79 +70,6 @@ spec:
description: The DB Instance Identifier from which to take the
snapshot.
type: string
- dbInstanceIdentifierRef:
- description: Reference to a Instance in rds to populate dbInstanceIdentifier.
- properties:
- name:
- description: Name of the referenced object.
- type: string
- policy:
- description: Policies for referencing.
- properties:
- resolution:
- default: Required
- description: Resolution specifies whether resolution of
- this reference is required. The default is 'Required',
- which means the reconcile will fail if the reference
- cannot be resolved. 'Optional' means this reference
- will be a no-op if it cannot be resolved.
- enum:
- - Required
- - Optional
- type: string
- resolve:
- description: Resolve specifies when this reference should
- be resolved. The default is 'IfNotPresent', which will
- attempt to resolve the reference only when the corresponding
- field is not present. Use 'Always' to resolve the reference
- on every reconcile.
- enum:
- - Always
- - IfNotPresent
- type: string
- type: object
- required:
- - name
- type: object
- dbInstanceIdentifierSelector:
- description: Selector for a Instance in rds to populate dbInstanceIdentifier.
- 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
region:
description: Region is the region you'd like your resource to
be created in.
@@ -168,64 +95,21 @@ spec:
block.
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- properties:
- 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -264,6 +148,42 @@ spec:
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
@@ -362,9 +282,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -485,9 +406,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
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
index 82cb8a031..e98614dcc 100644
--- a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_subnetgroups.yaml
+++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_subnetgroups.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.13.0
+ controller-gen.kubebuilder.io/version: v0.11.3
name: subnetgroups.rds.aws.kubedb.com
spec:
group: rds.aws.kubedb.com
@@ -56,7 +56,7 @@ spec:
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 ManagementPolicies field in a future release. Currently,
+ 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'
@@ -73,83 +73,6 @@ spec:
description: Region is the region you'd like your resource to
be created in.
type: string
- subnetIdRefs:
- 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
- subnetIdSelector:
- 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
subnetIds:
description: A list of VPC subnet IDs.
items:
@@ -170,61 +93,21 @@ spec:
block.
type: object
type: object
- initProvider:
- description: THIS IS A BETA FIELD. It will be honored unless the Management
- Policies feature flag is disabled. InitProvider holds the same fields
- as ForProvider, with the exception of Identifier and other resource
- reference fields. The fields that are in InitProvider are merged
- into ForProvider when the resource is created. The same fields are
- also added to the terraform ignore_changes hook, to avoid updating
- them after creation. This is useful for fields that are required
- on creation, but we do not desire to update them after creation,
- for example because of an external controller is managing them,
- like an autoscaler.
- properties:
- description:
- description: The description of the DB subnet 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
- managementPolicies:
- default:
- - '*'
- description: 'THIS IS A BETA FIELD. It is on by default but can be
- opted out through a Crossplane feature flag. ManagementPolicies
- specify the array of actions Crossplane is allowed to take on the
- managed and external resources. 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. If both are custom, the DeletionPolicy
- field will be ignored. See the design doc for more information:
- https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
- and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
- items:
- description: A ManagementAction represents an action that the Crossplane
- controllers can take on an external resource.
- enum:
- - Observe
- - Create
- - Update
- - Delete
- - LateInitialize
- - '*'
- type: string
- type: array
+ 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
@@ -263,6 +146,42 @@ spec:
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
@@ -361,9 +280,10 @@ spec:
- forProvider
type: object
x-kubernetes-validations:
- - message: spec.forProvider.region is a required parameter
- rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies
- || ''Update'' in self.managementPolicies) || has(self.forProvider.region)'
+ - 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:
@@ -439,9 +359,6 @@ spec:
- type
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
type: object
required:
- spec
diff --git a/charts/kubedb-ui-server/crds/kubedb.com_mssqls.yaml b/charts/kubedb-ui-server/crds/kubedb.com_mssqlservers.yaml
similarity index 99%
rename from charts/kubedb-ui-server/crds/kubedb.com_mssqls.yaml
rename to charts/kubedb-ui-server/crds/kubedb.com_mssqlservers.yaml
index 73680274d..c5e349f12 100644
--- a/charts/kubedb-ui-server/crds/kubedb.com_mssqls.yaml
+++ b/charts/kubedb-ui-server/crds/kubedb.com_mssqlservers.yaml
@@ -3,7 +3,7 @@ kind: CustomResourceDefinition
metadata:
labels:
app.kubernetes.io/name: kubedb
- name: mssqls.kubedb.com
+ name: mssqlservers.kubedb.com
spec:
group: kubedb.com
names:
@@ -12,12 +12,12 @@ spec:
- kubedb
- appscode
- all
- kind: MSSQL
- listKind: MSSQLList
- plural: mssqls
+ kind: MSSQLServer
+ listKind: MSSQLServerList
+ plural: mssqlservers
shortNames:
- ms
- singular: mssql
+ singular: mssqlserver
scope: Namespaced
versions:
- additionalPrinterColumns:
diff --git a/charts/kubedb-webhook-server/README.md b/charts/kubedb-webhook-server/README.md
index 92b7ebab1..604124bdb 100644
--- a/charts/kubedb-webhook-server/README.md
+++ b/charts/kubedb-webhook-server/README.md
@@ -61,9 +61,9 @@ The following table lists the configurable parameters of the `kubedb-webhook-ser
| featureGates.FerretDB | | false
|
| featureGates.Kafka | | true
|
| featureGates.MariaDB | | true
|
-| featureGates.Memcached | | true
|
-| featureGates.MicrosoftSQLServer | | false
|
+| featureGates.Memcached | | false
|
| featureGates.MongoDB | | true
|
+| featureGates.MSSQLServer | | true
|
| featureGates.MySQL | | true
|
| featureGates.PerconaXtraDB | | true
|
| featureGates.PgBouncer | | true
|
diff --git a/charts/kubedb-webhook-server/templates/provisioner/mutating-webhook.yaml b/charts/kubedb-webhook-server/templates/provisioner/mutating-webhook.yaml
index 82bc48ba8..59d021249 100644
--- a/charts/kubedb-webhook-server/templates/provisioner/mutating-webhook.yaml
+++ b/charts/kubedb-webhook-server/templates/provisioner/mutating-webhook.yaml
@@ -384,5 +384,22 @@ webhooks:
failurePolicy: {{ .Values.apiserver.webhook.failurePolicy }}
sideEffects: None
{{- end }}
+{{- if $featureGates.MSSQLServer }}
+- name: mssqlserverwebhook.mutators.kubedb.com
+ clientConfig:
+ service:
+ namespace: default
+ name: kubernetes
+ path: /apis/mutators.kubedb.com/v1alpha1/mssqlserverwebhooks
+ caBundle: {{ $caCrt }}
+ rules:
+ - apiGroups: [ "kubedb.com" ]
+ apiVersions: [ "*" ]
+ resources: [ "mssqlservers" ]
+ operations: [ "CREATE", "UPDATE" ]
+ admissionReviewVersions: [ "v1beta1" ]
+ failurePolicy: {{ .Values.apiserver.webhook.failurePolicy }}
+ sideEffects: None
+{{- end }}
{{- end }}
{{- end }}
diff --git a/charts/kubedb-webhook-server/templates/provisioner/validating-webhook.yaml b/charts/kubedb-webhook-server/templates/provisioner/validating-webhook.yaml
index f012e80f2..55035fe5b 100644
--- a/charts/kubedb-webhook-server/templates/provisioner/validating-webhook.yaml
+++ b/charts/kubedb-webhook-server/templates/provisioner/validating-webhook.yaml
@@ -399,5 +399,22 @@ webhooks:
failurePolicy: {{ .Values.apiserver.webhook.failurePolicy }}
sideEffects: None
{{- end }}
+{{- if $featureGates.MSSQL }}
+- name: mssqlserverwebhook.validators.kubedb.com
+ clientConfig:
+ service:
+ namespace: default
+ name: kubernetes
+ path: /apis/validators.kubedb.com/v1alpha1/mssqlserverwebhooks
+ caBundle: {{ $caCrt }}
+ rules:
+ - apiGroups: ["kubedb.com"]
+ apiVersions: ["*"]
+ resources: ["mssqlservers"]
+ operations: ["CREATE", "UPDATE", "DELETE"]
+ admissionReviewVersions: ["v1beta1"]
+ failurePolicy: {{ .Values.apiserver.webhook.failurePolicy }}
+ sideEffects: None
+{{- end }}
{{- end }}
{{- end }}
diff --git a/charts/kubedb-webhook-server/values.yaml b/charts/kubedb-webhook-server/values.yaml
index 9ca2221dd..a3e426de4 100644
--- a/charts/kubedb-webhook-server/values.yaml
+++ b/charts/kubedb-webhook-server/values.yaml
@@ -42,9 +42,9 @@ featureGates:
FerretDB: false
Kafka: true
MariaDB: true
- Memcached: true
- MicrosoftSQLServer: false
+ Memcached: false
MongoDB: true
+ MSSQLServer: true
MySQL: true
PerconaXtraDB: true
PgBouncer: true
diff --git a/charts/kubedb/README.md b/charts/kubedb/README.md
index cb016d313..9305e7637 100644
--- a/charts/kubedb/README.md
+++ b/charts/kubedb/README.md
@@ -59,8 +59,8 @@ The following table lists the configurable parameters of the `kubedb` chart and
| global.featureGates.Kafka | | true
|
| global.featureGates.MariaDB | | true
|
| global.featureGates.Memcached | | false
|
-| global.featureGates.MicrosoftSQLServer | | false
|
| global.featureGates.MongoDB | | true
|
+| global.featureGates.MSSQLServer | | true
|
| global.featureGates.MySQL | | true
|
| global.featureGates.PerconaXtraDB | | false
|
| global.featureGates.PgBouncer | | false
|
diff --git a/charts/kubedb/values.openapiv3_schema.yaml b/charts/kubedb/values.openapiv3_schema.yaml
index 0be283cc1..077ccf07e 100644
--- a/charts/kubedb/values.openapiv3_schema.yaml
+++ b/charts/kubedb/values.openapiv3_schema.yaml
@@ -1563,6 +1563,9 @@ properties:
kubernetes:
description: registry.k8s.io
type: string
+ microsoft:
+ description: mcr.microsoft.com
+ type: string
type: object
psp:
properties:
@@ -3200,6 +3203,9 @@ properties:
kubernetes:
description: registry.k8s.io
type: string
+ microsoft:
+ description: mcr.microsoft.com
+ type: string
type: object
redis:
description: StashRedisSpec is the schema for Stash Redis values file
diff --git a/charts/kubedb/values.yaml b/charts/kubedb/values.yaml
index f1db9c7bb..bacb4e7c7 100644
--- a/charts/kubedb/values.yaml
+++ b/charts/kubedb/values.yaml
@@ -47,8 +47,8 @@ global:
Kafka: true
MariaDB: true
Memcached: false
- MicrosoftSQLServer: false
MongoDB: true
+ MSSQLServer: true
MySQL: true
PerconaXtraDB: false
PgBouncer: false
diff --git a/crds/kubedb-catalog-crds.yaml b/crds/kubedb-catalog-crds.yaml
index f24e4391a..9a3a3ebcf 100644
--- a/crds/kubedb-catalog-crds.yaml
+++ b/crds/kubedb-catalog-crds.yaml
@@ -733,7 +733,7 @@ kind: CustomResourceDefinition
metadata:
labels:
app.kubernetes.io/name: kubedb
- name: mssqlversions.catalog.kubedb.com
+ name: mssqlserverversions.catalog.kubedb.com
spec:
group: catalog.kubedb.com
names:
@@ -741,12 +741,12 @@ spec:
- datastore
- kubedb
- appscode
- kind: MSSQLVersion
- listKind: MSSQLVersionList
- plural: mssqlversions
+ kind: MSSQLServerVersion
+ listKind: MSSQLServerVersionList
+ plural: mssqlserverversions
shortNames:
- msversion
- singular: mssqlversion
+ singular: mssqlserverversion
scope: Cluster
versions:
- additionalPrinterColumns:
diff --git a/crds/kubedb-crds.yaml b/crds/kubedb-crds.yaml
index 344704c76..9f264c3d6 100644
--- a/crds/kubedb-crds.yaml
+++ b/crds/kubedb-crds.yaml
@@ -56225,7 +56225,7 @@ kind: CustomResourceDefinition
metadata:
labels:
app.kubernetes.io/name: kubedb
- name: mssqlversions.catalog.kubedb.com
+ name: mssqlserverversions.catalog.kubedb.com
spec:
group: catalog.kubedb.com
names:
@@ -56233,12 +56233,12 @@ spec:
- datastore
- kubedb
- appscode
- kind: MSSQLVersion
- listKind: MSSQLVersionList
- plural: mssqlversions
+ kind: MSSQLServerVersion
+ listKind: MSSQLServerVersionList
+ plural: mssqlserverversions
shortNames:
- msversion
- singular: mssqlversion
+ singular: mssqlserverversion
scope: Cluster
versions:
- additionalPrinterColumns:
@@ -106652,7 +106652,7 @@ kind: CustomResourceDefinition
metadata:
labels:
app.kubernetes.io/name: kubedb
- name: mssqls.kubedb.com
+ name: mssqlservers.kubedb.com
spec:
group: kubedb.com
names:
@@ -106661,12 +106661,12 @@ spec:
- kubedb
- appscode
- all
- kind: MSSQL
- listKind: MSSQLList
- plural: mssqls
+ kind: MSSQLServer
+ listKind: MSSQLServerList
+ plural: mssqlservers
shortNames:
- ms
- singular: mssql
+ singular: mssqlserver
scope: Namespaced
versions:
- additionalPrinterColumns:
@@ -201238,261 +201238,6 @@ spec:
subresources:
status: {}
----
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
- labels:
- app.kubernetes.io/name: kubedb
- name: mssqlopsrequests.ops.kubedb.com
-spec:
- group: ops.kubedb.com
- names:
- categories:
- - datastore
- - kubedb
- - appscode
- kind: MSSQLOpsRequest
- listKind: MSSQLOpsRequestList
- plural: mssqlopsrequests
- shortNames:
- - msops
- singular: mssqlopsrequest
- scope: Namespaced
- versions:
- - additionalPrinterColumns:
- - jsonPath: .spec.type
- name: Type
- type: string
- - jsonPath: .status.phase
- name: Status
- type: string
- - jsonPath: .metadata.creationTimestamp
- name: Age
- type: date
- name: v1alpha1
- schema:
- openAPIV3Schema:
- properties:
- apiVersion:
- type: string
- kind:
- type: string
- metadata:
- type: object
- spec:
- properties:
- apply:
- default: IfReady
- enum:
- - IfReady
- - Always
- type: string
- configuration:
- type: object
- databaseRef:
- properties:
- name:
- type: string
- type: object
- x-kubernetes-map-type: atomic
- horizontalScaling:
- type: object
- restart:
- type: object
- timeout:
- type: string
- tls:
- properties:
- certificates:
- items:
- properties:
- alias:
- type: string
- dnsNames:
- items:
- type: string
- type: array
- duration:
- type: string
- emailAddresses:
- items:
- type: string
- type: array
- ipAddresses:
- items:
- type: string
- type: array
- issuerRef:
- properties:
- apiGroup:
- type: string
- kind:
- type: string
- name:
- type: string
- required:
- - kind
- - name
- type: object
- x-kubernetes-map-type: atomic
- privateKey:
- properties:
- encoding:
- enum:
- - PKCS1
- - PKCS8
- type: string
- type: object
- renewBefore:
- type: string
- secretName:
- type: string
- subject:
- properties:
- countries:
- items:
- type: string
- type: array
- localities:
- items:
- type: string
- type: array
- organizationalUnits:
- items:
- type: string
- type: array
- organizations:
- items:
- type: string
- type: array
- postalCodes:
- items:
- type: string
- type: array
- provinces:
- items:
- type: string
- type: array
- serialNumber:
- type: string
- streetAddresses:
- items:
- type: string
- type: array
- type: object
- uris:
- items:
- type: string
- type: array
- required:
- - alias
- type: object
- type: array
- issuerRef:
- properties:
- apiGroup:
- type: string
- kind:
- type: string
- name:
- type: string
- required:
- - kind
- - name
- type: object
- x-kubernetes-map-type: atomic
- remove:
- type: boolean
- rotateCertificates:
- type: boolean
- type: object
- type:
- enum:
- - UpdateVersion
- - HorizontalScaling
- - VerticalScaling
- - VolumeExpansion
- - Restart
- - Reconfigure
- - ReconfigureTLS
- type: string
- updateVersion:
- properties:
- targetVersion:
- type: string
- type: object
- verticalScaling:
- type: object
- volumeExpansion:
- type: object
- required:
- - databaseRef
- - type
- type: object
- status:
- properties:
- conditions:
- items:
- properties:
- lastTransitionTime:
- format: date-time
- type: string
- message:
- type: string
- observedGeneration:
- format: int64
- type: integer
- reason:
- type: string
- severity:
- type: string
- status:
- type: string
- type:
- type: string
- required:
- - lastTransitionTime
- - status
- - type
- type: object
- type: array
- observedGeneration:
- format: int64
- type: integer
- pausedBackups:
- items:
- properties:
- apiGroup:
- type: string
- kind:
- type: string
- name:
- type: string
- namespace:
- type: string
- required:
- - name
- type: object
- type: array
- phase:
- enum:
- - Pending
- - Progressing
- - Successful
- - WaitingForApproval
- - Failed
- - Approved
- - Denied
- - Skipped
- type: string
- type: object
- type: object
- served: true
- storage: true
- subresources:
- status: {}
-
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
diff --git a/hack/scripts/import-crds.sh b/hack/scripts/import-crds.sh
index 4b72f972b..3131e9438 100755
--- a/hack/scripts/import-crds.sh
+++ b/hack/scripts/import-crds.sh
@@ -20,7 +20,7 @@ crd_dir=${1:-}/apimachinery/crds
update_kubedb_crds=true
api_repo_url=https://github.com/kubedb/apimachinery.git
-api_repo_tag=${KUBEDB_APIMACHINERY_TAG:-master}
+api_repo_tag=${KUBEDB_APIMACHINERY_TAG:-mssql}
if [ "$#" -ne 1 ]; then
if [ "${api_repo_tag}" == "master" ]; then