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