From 7a9b1812ddb6aa1e650896bf4967be34baeeb37b Mon Sep 17 00:00:00 2001 From: Tamal Saha Date: Sat, 11 Nov 2023 12:49:59 -0800 Subject: [PATCH] Add crossplane provider charts (#702) Signed-off-by: Tamal Saha --- apis/installer/v1alpha1/provider_aws_types.go | 88 + .../v1alpha1/provider_azure_types.go | 88 + apis/installer/v1alpha1/provider_gcp_types.go | 89 + apis/installer/v1alpha1/types_test.go | 5 +- .../v1alpha1/zz_generated.deepcopy.go | 396 ++++ charts/kubedb-provider-aws/.helmignore | 23 + charts/kubedb-provider-aws/Chart.yaml | 13 + charts/kubedb-provider-aws/README.md | 85 + .../crds/aws.kubedb.com_providerconfigs.yaml | 152 ++ .../aws.kubedb.com_providerconfigusages.yaml | 110 ++ .../crds/aws.kubedb.com_storeconfigs.yaml | 342 ++++ ...docdb.aws.kubedb.com_clusterinstances.yaml | 553 ++++++ ...aws.kubedb.com_clusterparametergroups.yaml | 402 ++++ .../crds/docdb.aws.kubedb.com_clusters.yaml | 568 ++++++ ...docdb.aws.kubedb.com_clustersnapshots.yaml | 364 ++++ ...cdb.aws.kubedb.com_eventsubscriptions.yaml | 409 ++++ .../docdb.aws.kubedb.com_globalclusters.yaml | 399 ++++ .../docdb.aws.kubedb.com_subnetgroups.yaml | 437 +++++ ...db.aws.kubedb.com_contributorinsights.yaml | 397 ++++ .../dynamodb.aws.kubedb.com_globaltables.yaml | 342 ++++ ...bedb.com_kinesisstreamingdestinations.yaml | 478 +++++ .../dynamodb.aws.kubedb.com_tableitems.yaml | 423 ++++ ...dynamodb.aws.kubedb.com_tablereplicas.yaml | 387 ++++ .../crds/dynamodb.aws.kubedb.com_tables.yaml | 818 ++++++++ .../crds/dynamodb.aws.kubedb.com_tags.yaml | 339 ++++ .../crds/ec2.aws.kubedb.com_routes.yaml | 421 ++++ ...ec2.aws.kubedb.com_securitygrouprules.yaml | 424 ++++ ....aws.kubedb.com_vpcpeeringconnections.yaml | 443 +++++ .../elasticache.aws.kubedb.com_clusters.yaml | 793 ++++++++ ...icache.aws.kubedb.com_parametergroups.yaml | 393 ++++ ...ache.aws.kubedb.com_replicationgroups.yaml | 929 +++++++++ ...asticache.aws.kubedb.com_subnetgroups.yaml | 360 ++++ ...elasticache.aws.kubedb.com_usergroups.yaml | 438 +++++ .../elasticache.aws.kubedb.com_users.yaml | 437 +++++ ...csearch.aws.kubedb.com_domainpolicies.yaml | 330 ++++ .../elasticsearch.aws.kubedb.com_domains.yaml | 1062 +++++++++++ ...arch.aws.kubedb.com_domainsamloptions.yaml | 421 ++++ .../crds/kafka.aws.kubedb.com_clusters.yaml | 1433 ++++++++++++++ .../kafka.aws.kubedb.com_configurations.yaml | 355 ++++ .../crds/kinesis.aws.kubedb.com_streams.yaml | 439 +++++ .../crds/kms.aws.kubedb.com_keys.yaml | 458 +++++ .../crds/memorydb.aws.kubedb.com_acls.yaml | 358 ++++ .../memorydb.aws.kubedb.com_clusters.yaml | 602 ++++++ ...morydb.aws.kubedb.com_parametergroups.yaml | 391 ++++ .../memorydb.aws.kubedb.com_snapshots.yaml | 417 ++++ .../memorydb.aws.kubedb.com_subnetgroups.yaml | 367 ++++ ...aws.kubedb.com_clusteractivitystreams.yaml | 366 ++++ .../rds.aws.kubedb.com_clusterendpoints.yaml | 391 ++++ .../rds.aws.kubedb.com_clusterinstances.yaml | 710 +++++++ ...aws.kubedb.com_clusterparametergroups.yaml | 402 ++++ ...ws.kubedb.com_clusterroleassociations.yaml | 347 ++++ .../crds/rds.aws.kubedb.com_clusters.yaml | 1287 +++++++++++++ .../rds.aws.kubedb.com_clustersnapshots.yaml | 404 ++++ ...binstanceautomatedbackupsreplications.yaml | 356 ++++ .../rds.aws.kubedb.com_dbsnapshotcopies.yaml | 438 +++++ ...rds.aws.kubedb.com_eventsubscriptions.yaml | 407 ++++ .../rds.aws.kubedb.com_globalclusters.yaml | 407 ++++ ...s.kubedb.com_instanceroleassociations.yaml | 350 ++++ .../crds/rds.aws.kubedb.com_instances.yaml | 1309 +++++++++++++ .../crds/rds.aws.kubedb.com_optiongroups.yaml | 457 +++++ .../rds.aws.kubedb.com_parametergroups.yaml | 401 ++++ .../crds/rds.aws.kubedb.com_proxies.yaml | 521 +++++ ...s.kubedb.com_proxydefaulttargetgroups.yaml | 434 +++++ .../rds.aws.kubedb.com_proxyendpoints.yaml | 393 ++++ .../crds/rds.aws.kubedb.com_proxytargets.yaml | 367 ++++ .../crds/rds.aws.kubedb.com_snapshots.yaml | 417 ++++ .../crds/rds.aws.kubedb.com_subnetgroups.yaml | 370 ++++ charts/kubedb-provider-aws/doc.yaml | 18 + .../kubedb-provider-aws/templates/NOTES.txt | 3 + .../templates/_helpers.tpl | 107 ++ .../templates/cluster-role-binding.yaml | 14 + .../templates/cluster-role.yaml | 40 + .../templates/deployment.yaml | 68 + .../templates/provider-config.yaml | 11 + .../templates/service.yaml | 25 + .../templates/serviceaccount.yaml | 13 + .../templates/servicemonitor.yaml | 30 + .../values.openapiv3_schema.yaml | 1196 ++++++++++++ charts/kubedb-provider-aws/values.yaml | 76 + charts/kubedb-provider-azure/.helmignore | 23 + charts/kubedb-provider-azure/Chart.yaml | 13 + charts/kubedb-provider-azure/README.md | 85 + .../azure.kubedb.com_providerconfigs.yaml | 152 ++ ...azure.kubedb.com_providerconfigusages.yaml | 110 ++ .../crds/azure.kubedb.com_storeconfigs.yaml | 342 ++++ .../cache.azure.kubedb.com_rediscaches.yaml | 730 +++++++ ...re.kubedb.com_redisenterpriseclusters.yaml | 395 ++++ ...e.kubedb.com_redisenterprisedatabases.yaml | 436 +++++ ...e.azure.kubedb.com_redisfirewallrules.yaml | 342 ++++ ...e.azure.kubedb.com_redislinkedservers.yaml | 504 +++++ .../cosmosdb.azure.kubedb.com_accounts.yaml | 1001 ++++++++++ ...db.azure.kubedb.com_cassandraclusters.yaml | 475 +++++ ...azure.kubedb.com_cassandradatacenters.yaml | 409 ++++ ...b.azure.kubedb.com_cassandrakeyspaces.yaml | 359 ++++ ...osdb.azure.kubedb.com_cassandratables.yaml | 535 ++++++ ...sdb.azure.kubedb.com_gremlindatabases.yaml | 357 ++++ ...smosdb.azure.kubedb.com_gremlingraphs.yaml | 680 +++++++ ...sdb.azure.kubedb.com_mongocollections.yaml | 522 +++++ ...mosdb.azure.kubedb.com_mongodatabases.yaml | 359 ++++ ...smosdb.azure.kubedb.com_sqlcontainers.yaml | 725 +++++++ ...osmosdb.azure.kubedb.com_sqldatabases.yaml | 363 ++++ ...azure.kubedb.com_sqldedicatedgateways.yaml | 339 ++++ ...osmosdb.azure.kubedb.com_sqlfunctions.yaml | 398 ++++ ...b.azure.kubedb.com_sqlroleassignments.yaml | 369 ++++ ...b.azure.kubedb.com_sqlroledefinitions.yaml | 409 ++++ ....azure.kubedb.com_sqlstoredprocedures.yaml | 504 +++++ ...cosmosdb.azure.kubedb.com_sqltriggers.yaml | 418 ++++ .../cosmosdb.azure.kubedb.com_tables.yaml | 357 ++++ ...riadb.azure.kubedb.com_configurations.yaml | 351 ++++ ...formariadb.azure.kubedb.com_databases.yaml | 350 ++++ ...ariadb.azure.kubedb.com_firewallrules.yaml | 346 ++++ ...dbformariadb.azure.kubedb.com_servers.yaml | 511 +++++ ....azure.kubedb.com_virtualnetworkrules.yaml | 338 ++++ ...edb.com_activedirectoryadministrators.yaml | 357 ++++ ...mysql.azure.kubedb.com_configurations.yaml | 351 ++++ ...dbformysql.azure.kubedb.com_databases.yaml | 350 ++++ ...rmysql.azure.kubedb.com_firewallrules.yaml | 346 ++++ ...ql.azure.kubedb.com_flexibledatabases.yaml | 422 ++++ ...bedb.com_flexibleserverconfigurations.yaml | 415 ++++ ...ubedb.com_flexibleserverfirewallrules.yaml | 422 ++++ ...ysql.azure.kubedb.com_flexibleservers.yaml | 753 ++++++++ .../dbformysql.azure.kubedb.com_servers.yaml | 643 +++++++ ....azure.kubedb.com_virtualnetworkrules.yaml | 338 ++++ ...edb.com_activedirectoryadministrators.yaml | 430 +++++ ...resql.azure.kubedb.com_configurations.yaml | 422 ++++ ...postgresql.azure.kubedb.com_databases.yaml | 424 ++++ ...gresql.azure.kubedb.com_firewallrules.yaml | 418 ++++ ...bedb.com_flexibleserverconfigurations.yaml | 415 ++++ ...re.kubedb.com_flexibleserverdatabases.yaml | 416 ++++ ...ubedb.com_flexibleserverfirewallrules.yaml | 415 ++++ ...esql.azure.kubedb.com_flexibleservers.yaml | 681 +++++++ ...ostgresql.azure.kubedb.com_serverkeys.yaml | 466 +++++ ...orpostgresql.azure.kubedb.com_servers.yaml | 648 +++++++ ....azure.kubedb.com_virtualnetworkrules.yaml | 418 ++++ .../crds/keyvault.azure.kubedb.com_keys.yaml | 554 ++++++ .../keyvault.azure.kubedb.com_vaults.yaml | 562 ++++++ ...work.azure.kubedb.com_privatednszones.yaml | 427 +++++ ...ure.kubedb.com_virtualnetworkpeerings.yaml | 538 ++++++ ...work.azure.kubedb.com_virtualnetworks.yaml | 442 +++++ charts/kubedb-provider-azure/doc.yaml | 18 + .../kubedb-provider-azure/templates/NOTES.txt | 3 + .../templates/_helpers.tpl | 107 ++ .../templates/cluster-role-binding.yaml | 14 + .../templates/cluster-role.yaml | 37 + .../templates/deployment.yaml | 75 + .../templates/provider-config.yaml | 11 + .../templates/service.yaml | 25 + .../templates/serviceaccount.yaml | 13 + .../templates/servicemonitor.yaml | 30 + .../values.openapiv3_schema.yaml | 1196 ++++++++++++ charts/kubedb-provider-azure/values.yaml | 76 + charts/kubedb-provider-gcp/.helmignore | 23 + charts/kubedb-provider-gcp/Chart.yaml | 13 + charts/kubedb-provider-gcp/README.md | 86 + charts/kubedb-provider-gcp/ci/ci-values.yaml | 3 + .../compute.gcp.kubedb.com_firewalls.yaml | 932 +++++++++ ...ompute.gcp.kubedb.com_networkpeerings.yaml | 402 ++++ .../crds/compute.gcp.kubedb.com_networks.yaml | 491 +++++ .../crds/gcp.kubedb.com_providerconfigs.yaml | 157 ++ .../gcp.kubedb.com_providerconfigusages.yaml | 110 ++ .../crds/gcp.kubedb.com_storeconfigs.yaml | 342 ++++ .../crds/redis.gcp.kubedb.com_instances.yaml | 1020 ++++++++++ ...ner.gcp.kubedb.com_databaseiammembers.yaml | 503 +++++ .../spanner.gcp.kubedb.com_databases.yaml | 430 +++++ ...ner.gcp.kubedb.com_instanceiammembers.yaml | 426 +++++ .../spanner.gcp.kubedb.com_instances.yaml | 415 ++++ .../sql.gcp.kubedb.com_databaseinstances.yaml | 1699 +++++++++++++++++ .../crds/sql.gcp.kubedb.com_databases.yaml | 466 +++++ ...edb.com_sourcerepresentationinstances.yaml | 451 +++++ .../crds/sql.gcp.kubedb.com_sslcerts.yaml | 447 +++++ .../crds/sql.gcp.kubedb.com_users.yaml | 559 ++++++ charts/kubedb-provider-gcp/doc.yaml | 18 + .../kubedb-provider-gcp/templates/NOTES.txt | 3 + .../templates/_helpers.tpl | 107 ++ .../templates/cluster-role-binding.yaml | 14 + .../templates/cluster-role.yaml | 34 + .../templates/deployment.yaml | 75 + .../templates/provider-config.yaml | 12 + .../templates/service.yaml | 25 + .../templates/serviceaccount.yaml | 13 + .../templates/servicemonitor.yaml | 30 + .../values.openapiv3_schema.yaml | 1199 ++++++++++++ charts/kubedb-provider-gcp/values.yaml | 77 + hack/scripts/import-crds.sh | 105 +- 184 files changed, 69083 insertions(+), 2 deletions(-) create mode 100644 apis/installer/v1alpha1/provider_aws_types.go create mode 100644 apis/installer/v1alpha1/provider_azure_types.go create mode 100644 apis/installer/v1alpha1/provider_gcp_types.go create mode 100644 charts/kubedb-provider-aws/.helmignore create mode 100755 charts/kubedb-provider-aws/Chart.yaml create mode 100644 charts/kubedb-provider-aws/README.md create mode 100644 charts/kubedb-provider-aws/crds/aws.kubedb.com_providerconfigs.yaml create mode 100644 charts/kubedb-provider-aws/crds/aws.kubedb.com_providerconfigusages.yaml create mode 100644 charts/kubedb-provider-aws/crds/aws.kubedb.com_storeconfigs.yaml create mode 100644 charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusterinstances.yaml create mode 100644 charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusterparametergroups.yaml create mode 100644 charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusters.yaml create mode 100644 charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clustersnapshots.yaml create mode 100644 charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_eventsubscriptions.yaml create mode 100644 charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_globalclusters.yaml create mode 100644 charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_subnetgroups.yaml create mode 100644 charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_contributorinsights.yaml create mode 100644 charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_globaltables.yaml create mode 100644 charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_kinesisstreamingdestinations.yaml create mode 100644 charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tableitems.yaml create mode 100644 charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tablereplicas.yaml create mode 100644 charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tables.yaml create mode 100644 charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tags.yaml create mode 100644 charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_routes.yaml create mode 100644 charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_securitygrouprules.yaml create mode 100644 charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_vpcpeeringconnections.yaml create mode 100644 charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_clusters.yaml create mode 100644 charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_parametergroups.yaml create mode 100644 charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_replicationgroups.yaml create mode 100644 charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_subnetgroups.yaml create mode 100644 charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_usergroups.yaml create mode 100644 charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_users.yaml create mode 100644 charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domainpolicies.yaml create mode 100644 charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domains.yaml create mode 100644 charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domainsamloptions.yaml create mode 100644 charts/kubedb-provider-aws/crds/kafka.aws.kubedb.com_clusters.yaml create mode 100644 charts/kubedb-provider-aws/crds/kafka.aws.kubedb.com_configurations.yaml create mode 100644 charts/kubedb-provider-aws/crds/kinesis.aws.kubedb.com_streams.yaml create mode 100644 charts/kubedb-provider-aws/crds/kms.aws.kubedb.com_keys.yaml create mode 100644 charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_acls.yaml create mode 100644 charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_clusters.yaml create mode 100644 charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_parametergroups.yaml create mode 100644 charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_snapshots.yaml create mode 100644 charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_subnetgroups.yaml create mode 100644 charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusteractivitystreams.yaml create mode 100644 charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterendpoints.yaml create mode 100644 charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterinstances.yaml create mode 100644 charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterparametergroups.yaml create mode 100644 charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterroleassociations.yaml create mode 100644 charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusters.yaml create mode 100644 charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clustersnapshots.yaml create mode 100644 charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_dbinstanceautomatedbackupsreplications.yaml create mode 100644 charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_dbsnapshotcopies.yaml create mode 100644 charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_eventsubscriptions.yaml create mode 100644 charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_globalclusters.yaml create mode 100644 charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_instanceroleassociations.yaml create mode 100644 charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_instances.yaml create mode 100644 charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_optiongroups.yaml create mode 100644 charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_parametergroups.yaml create mode 100644 charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxies.yaml create mode 100644 charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxydefaulttargetgroups.yaml create mode 100644 charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxyendpoints.yaml create mode 100644 charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxytargets.yaml create mode 100644 charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_snapshots.yaml create mode 100644 charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_subnetgroups.yaml create mode 100644 charts/kubedb-provider-aws/doc.yaml create mode 100644 charts/kubedb-provider-aws/templates/NOTES.txt create mode 100644 charts/kubedb-provider-aws/templates/_helpers.tpl create mode 100644 charts/kubedb-provider-aws/templates/cluster-role-binding.yaml create mode 100644 charts/kubedb-provider-aws/templates/cluster-role.yaml create mode 100644 charts/kubedb-provider-aws/templates/deployment.yaml create mode 100644 charts/kubedb-provider-aws/templates/provider-config.yaml create mode 100644 charts/kubedb-provider-aws/templates/service.yaml create mode 100644 charts/kubedb-provider-aws/templates/serviceaccount.yaml create mode 100644 charts/kubedb-provider-aws/templates/servicemonitor.yaml create mode 100644 charts/kubedb-provider-aws/values.openapiv3_schema.yaml create mode 100644 charts/kubedb-provider-aws/values.yaml create mode 100644 charts/kubedb-provider-azure/.helmignore create mode 100755 charts/kubedb-provider-azure/Chart.yaml create mode 100644 charts/kubedb-provider-azure/README.md create mode 100644 charts/kubedb-provider-azure/crds/azure.kubedb.com_providerconfigs.yaml create mode 100644 charts/kubedb-provider-azure/crds/azure.kubedb.com_providerconfigusages.yaml create mode 100644 charts/kubedb-provider-azure/crds/azure.kubedb.com_storeconfigs.yaml create mode 100644 charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_rediscaches.yaml create mode 100644 charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redisenterpriseclusters.yaml create mode 100644 charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redisenterprisedatabases.yaml create mode 100644 charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redisfirewallrules.yaml create mode 100644 charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redislinkedservers.yaml create mode 100644 charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_accounts.yaml create mode 100644 charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandraclusters.yaml create mode 100644 charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandradatacenters.yaml create mode 100644 charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandrakeyspaces.yaml create mode 100644 charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandratables.yaml create mode 100644 charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_gremlindatabases.yaml create mode 100644 charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_gremlingraphs.yaml create mode 100644 charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_mongocollections.yaml create mode 100644 charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_mongodatabases.yaml create mode 100644 charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlcontainers.yaml create mode 100644 charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqldatabases.yaml create mode 100644 charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqldedicatedgateways.yaml create mode 100644 charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlfunctions.yaml create mode 100644 charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlroleassignments.yaml create mode 100644 charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlroledefinitions.yaml create mode 100644 charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlstoredprocedures.yaml create mode 100644 charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqltriggers.yaml create mode 100644 charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_tables.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_configurations.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_databases.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_firewallrules.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_servers.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_virtualnetworkrules.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_activedirectoryadministrators.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_configurations.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_databases.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_firewallrules.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibledatabases.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibleserverconfigurations.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibleserverfirewallrules.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibleservers.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_servers.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_virtualnetworkrules.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_activedirectoryadministrators.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_configurations.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_databases.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_firewallrules.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleserverconfigurations.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleserverdatabases.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleserverfirewallrules.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleservers.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_serverkeys.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_servers.yaml create mode 100644 charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_virtualnetworkrules.yaml create mode 100644 charts/kubedb-provider-azure/crds/keyvault.azure.kubedb.com_keys.yaml create mode 100644 charts/kubedb-provider-azure/crds/keyvault.azure.kubedb.com_vaults.yaml create mode 100644 charts/kubedb-provider-azure/crds/network.azure.kubedb.com_privatednszones.yaml create mode 100644 charts/kubedb-provider-azure/crds/network.azure.kubedb.com_virtualnetworkpeerings.yaml create mode 100644 charts/kubedb-provider-azure/crds/network.azure.kubedb.com_virtualnetworks.yaml create mode 100644 charts/kubedb-provider-azure/doc.yaml create mode 100644 charts/kubedb-provider-azure/templates/NOTES.txt create mode 100644 charts/kubedb-provider-azure/templates/_helpers.tpl create mode 100644 charts/kubedb-provider-azure/templates/cluster-role-binding.yaml create mode 100644 charts/kubedb-provider-azure/templates/cluster-role.yaml create mode 100644 charts/kubedb-provider-azure/templates/deployment.yaml create mode 100644 charts/kubedb-provider-azure/templates/provider-config.yaml create mode 100644 charts/kubedb-provider-azure/templates/service.yaml create mode 100644 charts/kubedb-provider-azure/templates/serviceaccount.yaml create mode 100644 charts/kubedb-provider-azure/templates/servicemonitor.yaml create mode 100644 charts/kubedb-provider-azure/values.openapiv3_schema.yaml create mode 100644 charts/kubedb-provider-azure/values.yaml create mode 100644 charts/kubedb-provider-gcp/.helmignore create mode 100755 charts/kubedb-provider-gcp/Chart.yaml create mode 100644 charts/kubedb-provider-gcp/README.md create mode 100644 charts/kubedb-provider-gcp/ci/ci-values.yaml create mode 100644 charts/kubedb-provider-gcp/crds/compute.gcp.kubedb.com_firewalls.yaml create mode 100644 charts/kubedb-provider-gcp/crds/compute.gcp.kubedb.com_networkpeerings.yaml create mode 100644 charts/kubedb-provider-gcp/crds/compute.gcp.kubedb.com_networks.yaml create mode 100644 charts/kubedb-provider-gcp/crds/gcp.kubedb.com_providerconfigs.yaml create mode 100644 charts/kubedb-provider-gcp/crds/gcp.kubedb.com_providerconfigusages.yaml create mode 100644 charts/kubedb-provider-gcp/crds/gcp.kubedb.com_storeconfigs.yaml create mode 100644 charts/kubedb-provider-gcp/crds/redis.gcp.kubedb.com_instances.yaml create mode 100644 charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_databaseiammembers.yaml create mode 100644 charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_databases.yaml create mode 100644 charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_instanceiammembers.yaml create mode 100644 charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_instances.yaml create mode 100644 charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_databaseinstances.yaml create mode 100644 charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_databases.yaml create mode 100644 charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_sourcerepresentationinstances.yaml create mode 100644 charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_sslcerts.yaml create mode 100644 charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_users.yaml create mode 100644 charts/kubedb-provider-gcp/doc.yaml create mode 100644 charts/kubedb-provider-gcp/templates/NOTES.txt create mode 100644 charts/kubedb-provider-gcp/templates/_helpers.tpl create mode 100644 charts/kubedb-provider-gcp/templates/cluster-role-binding.yaml create mode 100644 charts/kubedb-provider-gcp/templates/cluster-role.yaml create mode 100644 charts/kubedb-provider-gcp/templates/deployment.yaml create mode 100644 charts/kubedb-provider-gcp/templates/provider-config.yaml create mode 100644 charts/kubedb-provider-gcp/templates/service.yaml create mode 100644 charts/kubedb-provider-gcp/templates/serviceaccount.yaml create mode 100644 charts/kubedb-provider-gcp/templates/servicemonitor.yaml create mode 100644 charts/kubedb-provider-gcp/values.openapiv3_schema.yaml create mode 100644 charts/kubedb-provider-gcp/values.yaml diff --git a/apis/installer/v1alpha1/provider_aws_types.go b/apis/installer/v1alpha1/provider_aws_types.go new file mode 100644 index 000000000..3aaee3282 --- /dev/null +++ b/apis/installer/v1alpha1/provider_aws_types.go @@ -0,0 +1,88 @@ +/* +Copyright AppsCode Inc. and Contributors + +Licensed under the AppsCode Community License 1.0.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + https://github.com/appscode/licenses/raw/1.0.0/AppsCode-Community-1.0.0.md + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package v1alpha1 + +import ( + core "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +const ( + ResourceKindKubedbProviderAws = "KubedbProviderAws" + ResourceKubedbProviderAws = "kubedbprovideraws" + ResourceKubedbProviderAwss = "kubedbproviderawss" +) + +// KubedbProviderAws defines the schama for Kubeform AWS provider installer. + +// +genclient +// +genclient:skipVerbs=updateStatus +// +k8s:openapi-gen=true +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// +kubebuilder:object:root=true +// +kubebuilder:resource:path=kubedbproviderawss,singular=kubedbprovideraws,categories={kubeform,appscode} +type KubedbProviderAws struct { + metav1.TypeMeta `json:",inline,omitempty"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec KubedbProviderAwsSpec `json:"spec,omitempty"` +} + +// KubedbProviderAwsSpec is the schema for Identity Server values file +type KubedbProviderAwsSpec struct { + //+optional + NameOverride string `json:"nameOverride"` + //+optional + FullnameOverride string `json:"fullnameOverride"` + ReplicaCount int `json:"replicaCount"` + RegistryFQDN string `json:"registryFQDN"` + Image Container `json:"image"` + //+optional + ImagePullSecrets []string `json:"imagePullSecrets"` + ImagePullPolicy string `json:"imagePullPolicy"` + ServiceAccount ServiceAccountSpec `json:"serviceAccount"` + //+optional + PodAnnotations map[string]string `json:"podAnnotations"` + // PodSecurityContext holds pod-level security attributes and common container settings. + // Optional: Defaults to empty. See type description for default values of each field. + // +optional + PodSecurityContext *core.PodSecurityContext `json:"podSecurityContext"` + //+optional + NodeSelector map[string]string `json:"nodeSelector"` + // If specified, the pod's tolerations. + // +optional + Tolerations []core.Toleration `json:"tolerations"` + // If specified, the pod's scheduling constraints + // +optional + Affinity *core.Affinity `json:"affinity"` + Monitoring EASMonitoring `json:"monitoring"` + Aws AwsProviderConfig `json:"aws"` +} + +type AwsProviderConfig struct { + SecretName string `json:"secretName"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// KubedbProviderAwsList is a list of KubedbProviderAwss +type KubedbProviderAwsList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + // Items is a list of KubedbProviderAws CRD objects + Items []KubedbProviderAws `json:"items,omitempty"` +} diff --git a/apis/installer/v1alpha1/provider_azure_types.go b/apis/installer/v1alpha1/provider_azure_types.go new file mode 100644 index 000000000..ec75bb249 --- /dev/null +++ b/apis/installer/v1alpha1/provider_azure_types.go @@ -0,0 +1,88 @@ +/* +Copyright AppsCode Inc. and Contributors + +Licensed under the AppsCode Community License 1.0.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + https://github.com/appscode/licenses/raw/1.0.0/AppsCode-Community-1.0.0.md + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package v1alpha1 + +import ( + core "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +const ( + ResourceKindKubedbProviderAzure = "KubedbProviderAzure" + ResourceKubedbProviderAzure = "kubedbproviderazure" + ResourceKubedbProviderAzures = "kubedbproviderazures" +) + +// KubedbProviderAzure defines the schama for Kubeform AWS provider installer. + +// +genclient +// +genclient:skipVerbs=updateStatus +// +k8s:openapi-gen=true +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// +kubebuilder:object:root=true +// +kubebuilder:resource:path=kubedbproviderazures,singular=kubedbproviderazure,categories={kubeform,appscode} +type KubedbProviderAzure struct { + metav1.TypeMeta `json:",inline,omitempty"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec KubedbProviderAzureSpec `json:"spec,omitempty"` +} + +// KubedbProviderAzureSpec is the schema for Identity Server values file +type KubedbProviderAzureSpec struct { + //+optional + NameOverride string `json:"nameOverride"` + //+optional + FullnameOverride string `json:"fullnameOverride"` + ReplicaCount int `json:"replicaCount"` + RegistryFQDN string `json:"registryFQDN"` + Image Container `json:"image"` + //+optional + ImagePullSecrets []string `json:"imagePullSecrets"` + ImagePullPolicy string `json:"imagePullPolicy"` + ServiceAccount ServiceAccountSpec `json:"serviceAccount"` + //+optional + PodAnnotations map[string]string `json:"podAnnotations"` + // PodSecurityContext holds pod-level security attributes and common container settings. + // Optional: Defaults to empty. See type description for default values of each field. + // +optional + PodSecurityContext *core.PodSecurityContext `json:"podSecurityContext"` + //+optional + NodeSelector map[string]string `json:"nodeSelector"` + // If specified, the pod's tolerations. + // +optional + Tolerations []core.Toleration `json:"tolerations"` + // If specified, the pod's scheduling constraints + // +optional + Affinity *core.Affinity `json:"affinity"` + Monitoring EASMonitoring `json:"monitoring"` + Azure AzureProviderConfig `json:"azure"` +} + +type AzureProviderConfig struct { + SecretName string `json:"secretName"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// KubedbProviderAzureList is a list of KubedbProviderAzures +type KubedbProviderAzureList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + // Items is a list of KubedbProviderAzure CRD objects + Items []KubedbProviderAzure `json:"items,omitempty"` +} diff --git a/apis/installer/v1alpha1/provider_gcp_types.go b/apis/installer/v1alpha1/provider_gcp_types.go new file mode 100644 index 000000000..5860dddf3 --- /dev/null +++ b/apis/installer/v1alpha1/provider_gcp_types.go @@ -0,0 +1,89 @@ +/* +Copyright AppsCode Inc. and Contributors + +Licensed under the AppsCode Community License 1.0.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + https://github.com/appscode/licenses/raw/1.0.0/AppsCode-Community-1.0.0.md + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package v1alpha1 + +import ( + core "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +const ( + ResourceKindKubedbProviderGcp = "KubedbProviderGcp" + ResourceKubedbProviderGcp = "kubedbprovidergcp" + ResourceKubedbProviderGcps = "kubedbprovidergcps" +) + +// KubedbProviderGcp defines the schama for Kubeform AWS provider installer. + +// +genclient +// +genclient:skipVerbs=updateStatus +// +k8s:openapi-gen=true +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// +kubebuilder:object:root=true +// +kubebuilder:resource:path=kubedbprovidergcps,singular=kubedbprovidergcp,categories={kubeform,appscode} +type KubedbProviderGcp struct { + metav1.TypeMeta `json:",inline,omitempty"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec KubedbProviderGcpSpec `json:"spec,omitempty"` +} + +// KubedbProviderGcpSpec is the schema for Identity Server values file +type KubedbProviderGcpSpec struct { + //+optional + NameOverride string `json:"nameOverride"` + //+optional + FullnameOverride string `json:"fullnameOverride"` + ReplicaCount int `json:"replicaCount"` + RegistryFQDN string `json:"registryFQDN"` + Image Container `json:"image"` + //+optional + ImagePullSecrets []string `json:"imagePullSecrets"` + ImagePullPolicy string `json:"imagePullPolicy"` + ServiceAccount ServiceAccountSpec `json:"serviceAccount"` + //+optional + PodAnnotations map[string]string `json:"podAnnotations"` + // PodSecurityContext holds pod-level security attributes and common container settings. + // Optional: Defaults to empty. See type description for default values of each field. + // +optional + PodSecurityContext *core.PodSecurityContext `json:"podSecurityContext"` + //+optional + NodeSelector map[string]string `json:"nodeSelector"` + // If specified, the pod's tolerations. + // +optional + Tolerations []core.Toleration `json:"tolerations"` + // If specified, the pod's scheduling constraints + // +optional + Affinity *core.Affinity `json:"affinity"` + Monitoring EASMonitoring `json:"monitoring"` + Gcp GcpProviderConfig `json:"gcp"` +} + +type GcpProviderConfig struct { + ProjectID string `json:"projectID"` + SecretName string `json:"secretName"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// KubedbProviderGcpList is a list of KubedbProviderGcps +type KubedbProviderGcpList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + // Items is a list of KubedbProviderGcp CRD objects + Items []KubedbProviderGcp `json:"items,omitempty"` +} diff --git a/apis/installer/v1alpha1/types_test.go b/apis/installer/v1alpha1/types_test.go index a58434408..9cd98bf81 100644 --- a/apis/installer/v1alpha1/types_test.go +++ b/apis/installer/v1alpha1/types_test.go @@ -27,13 +27,16 @@ import ( func TestDefaultValues(t *testing.T) { checker := schemachecker.New(os.DirFS("../../.."), + schemachecker.TestCase{Obj: v1alpha1.KubedbProviderAwsSpec{}}, + schemachecker.TestCase{Obj: v1alpha1.KubedbProviderAzureSpec{}}, + schemachecker.TestCase{Obj: v1alpha1.KubedbProviderGcpSpec{}}, schemachecker.TestCase{Obj: v1alpha1.KubedbAutoscalerSpec{}}, schemachecker.TestCase{Obj: v1alpha1.KubedbCatalogSpec{}}, schemachecker.TestCase{Obj: v1alpha1.KubedbDashboardSpec{}}, - schemachecker.TestCase{Obj: v1alpha1.KubedbSpec{}}, schemachecker.TestCase{Obj: v1alpha1.KubedbOpsManagerSpec{}}, schemachecker.TestCase{Obj: v1alpha1.KubedbProvisionerSpec{}}, schemachecker.TestCase{Obj: v1alpha1.KubedbSchemaManagerSpec{}}, + schemachecker.TestCase{Obj: v1alpha1.KubedbSpec{}}, schemachecker.TestCase{Obj: v1alpha1.KubedbUiServerSpec{}}, schemachecker.TestCase{Obj: v1alpha1.KubedbWebhookServerSpec{}}, ) diff --git a/apis/installer/v1alpha1/zz_generated.deepcopy.go b/apis/installer/v1alpha1/zz_generated.deepcopy.go index 5399502fd..806b110ec 100644 --- a/apis/installer/v1alpha1/zz_generated.deepcopy.go +++ b/apis/installer/v1alpha1/zz_generated.deepcopy.go @@ -26,6 +26,38 @@ import ( runtime "k8s.io/apimachinery/pkg/runtime" ) +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AwsProviderConfig) DeepCopyInto(out *AwsProviderConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AwsProviderConfig. +func (in *AwsProviderConfig) DeepCopy() *AwsProviderConfig { + if in == nil { + return nil + } + out := new(AwsProviderConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureProviderConfig) DeepCopyInto(out *AzureProviderConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureProviderConfig. +func (in *AzureProviderConfig) DeepCopy() *AzureProviderConfig { + if in == nil { + return nil + } + out := new(AzureProviderConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Catalog) DeepCopyInto(out *Catalog) { *out = *in @@ -116,6 +148,22 @@ func (in *EASSpec) DeepCopy() *EASSpec { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GcpProviderConfig) DeepCopyInto(out *GcpProviderConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GcpProviderConfig. +func (in *GcpProviderConfig) DeepCopy() *GcpProviderConfig { + if in == nil { + return nil + } + out := new(GcpProviderConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *GlobalValues) DeepCopyInto(out *GlobalValues) { *out = *in @@ -806,6 +854,354 @@ func (in *KubedbOpsManagerValues) DeepCopy() *KubedbOpsManagerValues { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubedbProviderAws) DeepCopyInto(out *KubedbProviderAws) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubedbProviderAws. +func (in *KubedbProviderAws) DeepCopy() *KubedbProviderAws { + if in == nil { + return nil + } + out := new(KubedbProviderAws) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KubedbProviderAws) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubedbProviderAwsList) DeepCopyInto(out *KubedbProviderAwsList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]KubedbProviderAws, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubedbProviderAwsList. +func (in *KubedbProviderAwsList) DeepCopy() *KubedbProviderAwsList { + if in == nil { + return nil + } + out := new(KubedbProviderAwsList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KubedbProviderAwsList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubedbProviderAwsSpec) DeepCopyInto(out *KubedbProviderAwsSpec) { + *out = *in + in.Image.DeepCopyInto(&out.Image) + if in.ImagePullSecrets != nil { + in, out := &in.ImagePullSecrets, &out.ImagePullSecrets + *out = make([]string, len(*in)) + copy(*out, *in) + } + in.ServiceAccount.DeepCopyInto(&out.ServiceAccount) + if in.PodAnnotations != nil { + in, out := &in.PodAnnotations, &out.PodAnnotations + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.PodSecurityContext != nil { + in, out := &in.PodSecurityContext, &out.PodSecurityContext + *out = new(v1.PodSecurityContext) + (*in).DeepCopyInto(*out) + } + if in.NodeSelector != nil { + in, out := &in.NodeSelector, &out.NodeSelector + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Tolerations != nil { + in, out := &in.Tolerations, &out.Tolerations + *out = make([]v1.Toleration, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Affinity != nil { + in, out := &in.Affinity, &out.Affinity + *out = new(v1.Affinity) + (*in).DeepCopyInto(*out) + } + in.Monitoring.DeepCopyInto(&out.Monitoring) + out.Aws = in.Aws + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubedbProviderAwsSpec. +func (in *KubedbProviderAwsSpec) DeepCopy() *KubedbProviderAwsSpec { + if in == nil { + return nil + } + out := new(KubedbProviderAwsSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubedbProviderAzure) DeepCopyInto(out *KubedbProviderAzure) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubedbProviderAzure. +func (in *KubedbProviderAzure) DeepCopy() *KubedbProviderAzure { + if in == nil { + return nil + } + out := new(KubedbProviderAzure) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KubedbProviderAzure) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubedbProviderAzureList) DeepCopyInto(out *KubedbProviderAzureList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]KubedbProviderAzure, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubedbProviderAzureList. +func (in *KubedbProviderAzureList) DeepCopy() *KubedbProviderAzureList { + if in == nil { + return nil + } + out := new(KubedbProviderAzureList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KubedbProviderAzureList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubedbProviderAzureSpec) DeepCopyInto(out *KubedbProviderAzureSpec) { + *out = *in + in.Image.DeepCopyInto(&out.Image) + if in.ImagePullSecrets != nil { + in, out := &in.ImagePullSecrets, &out.ImagePullSecrets + *out = make([]string, len(*in)) + copy(*out, *in) + } + in.ServiceAccount.DeepCopyInto(&out.ServiceAccount) + if in.PodAnnotations != nil { + in, out := &in.PodAnnotations, &out.PodAnnotations + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.PodSecurityContext != nil { + in, out := &in.PodSecurityContext, &out.PodSecurityContext + *out = new(v1.PodSecurityContext) + (*in).DeepCopyInto(*out) + } + if in.NodeSelector != nil { + in, out := &in.NodeSelector, &out.NodeSelector + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Tolerations != nil { + in, out := &in.Tolerations, &out.Tolerations + *out = make([]v1.Toleration, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Affinity != nil { + in, out := &in.Affinity, &out.Affinity + *out = new(v1.Affinity) + (*in).DeepCopyInto(*out) + } + in.Monitoring.DeepCopyInto(&out.Monitoring) + out.Azure = in.Azure + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubedbProviderAzureSpec. +func (in *KubedbProviderAzureSpec) DeepCopy() *KubedbProviderAzureSpec { + if in == nil { + return nil + } + out := new(KubedbProviderAzureSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubedbProviderGcp) DeepCopyInto(out *KubedbProviderGcp) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubedbProviderGcp. +func (in *KubedbProviderGcp) DeepCopy() *KubedbProviderGcp { + if in == nil { + return nil + } + out := new(KubedbProviderGcp) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KubedbProviderGcp) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubedbProviderGcpList) DeepCopyInto(out *KubedbProviderGcpList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]KubedbProviderGcp, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubedbProviderGcpList. +func (in *KubedbProviderGcpList) DeepCopy() *KubedbProviderGcpList { + if in == nil { + return nil + } + out := new(KubedbProviderGcpList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KubedbProviderGcpList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubedbProviderGcpSpec) DeepCopyInto(out *KubedbProviderGcpSpec) { + *out = *in + in.Image.DeepCopyInto(&out.Image) + if in.ImagePullSecrets != nil { + in, out := &in.ImagePullSecrets, &out.ImagePullSecrets + *out = make([]string, len(*in)) + copy(*out, *in) + } + in.ServiceAccount.DeepCopyInto(&out.ServiceAccount) + if in.PodAnnotations != nil { + in, out := &in.PodAnnotations, &out.PodAnnotations + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.PodSecurityContext != nil { + in, out := &in.PodSecurityContext, &out.PodSecurityContext + *out = new(v1.PodSecurityContext) + (*in).DeepCopyInto(*out) + } + if in.NodeSelector != nil { + in, out := &in.NodeSelector, &out.NodeSelector + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Tolerations != nil { + in, out := &in.Tolerations, &out.Tolerations + *out = make([]v1.Toleration, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Affinity != nil { + in, out := &in.Affinity, &out.Affinity + *out = new(v1.Affinity) + (*in).DeepCopyInto(*out) + } + in.Monitoring.DeepCopyInto(&out.Monitoring) + out.Gcp = in.Gcp + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubedbProviderGcpSpec. +func (in *KubedbProviderGcpSpec) DeepCopy() *KubedbProviderGcpSpec { + if in == nil { + return nil + } + out := new(KubedbProviderGcpSpec) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *KubedbProvisioner) DeepCopyInto(out *KubedbProvisioner) { *out = *in diff --git a/charts/kubedb-provider-aws/.helmignore b/charts/kubedb-provider-aws/.helmignore new file mode 100644 index 000000000..e03134ce3 --- /dev/null +++ b/charts/kubedb-provider-aws/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.terraform +*.tfstate* diff --git a/charts/kubedb-provider-aws/Chart.yaml b/charts/kubedb-provider-aws/Chart.yaml new file mode 100755 index 000000000..c93e96c35 --- /dev/null +++ b/charts/kubedb-provider-aws/Chart.yaml @@ -0,0 +1,13 @@ +apiVersion: v2 +name: kubedb-provider-aws +description: A Helm chart for KubeDB AWS Provider for Crossplane +type: application +version: v0.0.1 +appVersion: v0.0.1 +home: https://github.com/kubedb/provider-aws +icon: https://cdn.appscode.com/images/products/searchlight/icons/android-icon-192x192.png +sources: +- https://github.com/kubedb/provider-aws +maintainers: +- name: appscode + email: support@appscode.com diff --git a/charts/kubedb-provider-aws/README.md b/charts/kubedb-provider-aws/README.md new file mode 100644 index 000000000..a52188c2c --- /dev/null +++ b/charts/kubedb-provider-aws/README.md @@ -0,0 +1,85 @@ +# KubeDB AWS Provider + +[KubeDB AWS Provider for Crossplane](https://github.com/kubedb/provider-aws) - KubeDB AWS provider for Crossplane + +## TL;DR; + +```bash +$ helm repo add appscode https://charts.appscode.com/stable/ +$ helm repo update +$ helm search repo appscode/kubedb-provider-aws --version=v0.0.1 +$ helm upgrade -i kubedb-provider-aws appscode/kubedb-provider-aws -n crossplane-system --create-namespace --version=v0.0.1 +``` + +## Introduction + +This chart deploys a KubeDB AWS provider on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager. + +## Prerequisites + +- Kubernetes 1.21+ + +## Installing the Chart + +To install/upgrade the chart with the release name `kubedb-provider-aws`: + +```bash +$ helm upgrade -i kubedb-provider-aws appscode/kubedb-provider-aws -n crossplane-system --create-namespace --version=v0.0.1 +``` + +The command deploys a KubeDB AWS provider on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation. + +> **Tip**: List all releases using `helm list` + +## Uninstalling the Chart + +To uninstall the `kubedb-provider-aws`: + +```bash +$ helm uninstall kubedb-provider-aws -n crossplane-system +``` + +The command removes all the Kubernetes components associated with the chart and deletes the release. + +## Configuration + +The following table lists the configurable parameters of the `kubedb-provider-aws` chart and their default values. + +| Parameter | Description | Default | +|----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| nameOverride | Overrides name template | "" | +| fullnameOverride | Overrides fullname template | "" | +| replicaCount | | 1 | +| registryFQDN | Docker registry fqdn used to pull docker images Set this to use docker registry hosted at ${registryFQDN}/${registry}/${image} | ghcr.io | +| image.registry | Docker registry used to pull operator image | kubedb | +| image.repository | Name of operator container image | provider-aws | +| image.tag | Overrides the image tag whose default is the chart appVersion. | "" | +| image.resources | Compute Resources required by the operator container | {} | +| image.securityContext | Security options the operator container should run with | {"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsNonRoot":true,"runAsUser":65534,"seccompProfile":{"type":"RuntimeDefault"}} | +| imagePullSecrets | Specify an array of imagePullSecrets. Secrets must be manually created in the namespace.
Example:
`helm template charts/stash \`
`--set imagePullSecrets[0].name=sec0 \`
`--set imagePullSecrets[1].name=sec1` | [] | +| imagePullPolicy | Container image pull policy | Always | +| serviceAccount.create | Specifies whether a service account should be created | true | +| serviceAccount.annotations | Annotations to add to the service account | {} | +| serviceAccount.name | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | "" | +| podAnnotations | | {} | +| podSecurityContext | | {} | +| nodeSelector | | {} | +| tolerations | | [] | +| affinity | | {} | +| monitoring.agent | Name of monitoring agent (one of "prometheus.io", "prometheus.io/operator", "prometheus.io/builtin") | "" | +| monitoring.serviceMonitor.labels | Specify the labels for ServiceMonitor. Prometheus crd will select ServiceMonitor using these labels. Only usable when monitoring agent is `prometheus.io/operator`. | {} | +| aws.secretName | | "aws-credential" | + + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm upgrade -i`. For example: + +```bash +$ helm upgrade -i kubedb-provider-aws appscode/kubedb-provider-aws -n crossplane-system --create-namespace --version=v0.0.1 --set replicaCount=1 +``` + +Alternatively, a YAML file that specifies the values for the parameters can be provided while +installing the chart. For example: + +```bash +$ helm upgrade -i kubedb-provider-aws appscode/kubedb-provider-aws -n crossplane-system --create-namespace --version=v0.0.1 --values values.yaml +``` diff --git a/charts/kubedb-provider-aws/crds/aws.kubedb.com_providerconfigs.yaml b/charts/kubedb-provider-aws/crds/aws.kubedb.com_providerconfigs.yaml new file mode 100644 index 000000000..105336559 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/aws.kubedb.com_providerconfigs.yaml @@ -0,0 +1,152 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: providerconfigs.aws.kubedb.com +spec: + group: aws.kubedb.com + names: + categories: + - crossplane + - provider + - aws + kind: ProviderConfig + listKind: ProviderConfigList + plural: providerconfigs + singular: providerconfig + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + - jsonPath: .spec.credentials.secretRef.name + name: SECRET-NAME + priority: 1 + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: A ProviderConfig configures a AWS provider. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: A ProviderConfigSpec defines the desired state of a ProviderConfig. + properties: + credentials: + description: Credentials required to authenticate to this provider. + properties: + env: + description: Env is a reference to an environment variable that + contains credentials that must be used to connect to the provider. + properties: + name: + description: Name is the name of an environment variable. + type: string + required: + - name + type: object + fs: + description: Fs is a reference to a filesystem location that contains + credentials that must be used to connect to the provider. + properties: + path: + description: Path is a filesystem path. + type: string + required: + - path + type: object + secretRef: + description: A SecretRef is a reference to a secret key that contains + the credentials that must be used to connect to the provider. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + source: + description: Source of the provider credentials. + enum: + - None + - Secret + - InjectedIdentity + - Environment + - Filesystem + type: string + required: + - source + type: object + required: + - credentials + type: object + status: + description: A ProviderConfigStatus reflects the observed state of a ProviderConfig. + properties: + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + users: + description: Users of this provider configuration. + format: int64 + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/aws.kubedb.com_providerconfigusages.yaml b/charts/kubedb-provider-aws/crds/aws.kubedb.com_providerconfigusages.yaml new file mode 100644 index 000000000..a3039a44c --- /dev/null +++ b/charts/kubedb-provider-aws/crds/aws.kubedb.com_providerconfigusages.yaml @@ -0,0 +1,110 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: providerconfigusages.aws.kubedb.com +spec: + group: aws.kubedb.com + names: + categories: + - crossplane + - provider + - aws + kind: ProviderConfigUsage + listKind: ProviderConfigUsageList + plural: providerconfigusages + singular: providerconfigusage + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + - jsonPath: .providerConfigRef.name + name: CONFIG-NAME + type: string + - jsonPath: .resourceRef.kind + name: RESOURCE-KIND + type: string + - jsonPath: .resourceRef.name + name: RESOURCE-NAME + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: A ProviderConfigUsage indicates that a resource is using a ProviderConfig. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + providerConfigRef: + description: ProviderConfigReference to the provider config being used. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this reference + is required. The default is 'Required', which means the reconcile + will fail if the reference cannot be resolved. 'Optional' means + this reference will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should be resolved. + The default is 'IfNotPresent', which will attempt to resolve + the reference only when the corresponding field is not present. + Use 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + resourceRef: + description: ResourceReference to the managed resource using the provider + config. + properties: + apiVersion: + description: APIVersion of the referenced object. + type: string + kind: + description: Kind of the referenced object. + type: string + name: + description: Name of the referenced object. + type: string + uid: + description: UID of the referenced object. + type: string + required: + - apiVersion + - kind + - name + type: object + required: + - providerConfigRef + - resourceRef + type: object + served: true + storage: true + subresources: {} diff --git a/charts/kubedb-provider-aws/crds/aws.kubedb.com_storeconfigs.yaml b/charts/kubedb-provider-aws/crds/aws.kubedb.com_storeconfigs.yaml new file mode 100644 index 000000000..19a35a2bb --- /dev/null +++ b/charts/kubedb-provider-aws/crds/aws.kubedb.com_storeconfigs.yaml @@ -0,0 +1,342 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: storeconfigs.aws.kubedb.com +spec: + group: aws.kubedb.com + names: + categories: + - crossplane + - store + - gcp + kind: StoreConfig + listKind: StoreConfigList + plural: storeconfigs + singular: storeconfig + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + - jsonPath: .spec.type + name: TYPE + type: string + - jsonPath: .spec.defaultScope + name: DEFAULT-SCOPE + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: A StoreConfig configures how GCP controller should store connection + details. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: A StoreConfigSpec defines the desired state of a ProviderConfig. + properties: + defaultScope: + description: DefaultScope used for scoping secrets for "cluster-scoped" + resources. If store type is "Kubernetes", this would mean the default + namespace to store connection secrets for cluster scoped resources. + In case of "Vault", this would be used as the default parent path. + Typically, should be set as Crossplane installation namespace. + type: string + kubernetes: + description: Kubernetes configures a Kubernetes secret store. If the + "type" is "Kubernetes" but no config provided, in cluster config + will be used. + properties: + auth: + description: Credentials used to connect to the Kubernetes API. + properties: + env: + description: Env is a reference to an environment variable + that contains credentials that must be used to connect to + the provider. + properties: + name: + description: Name is the name of an environment variable. + type: string + required: + - name + type: object + fs: + description: Fs is a reference to a filesystem location that + contains credentials that must be used to connect to the + provider. + properties: + path: + description: Path is a filesystem path. + type: string + required: + - path + type: object + secretRef: + description: A SecretRef is a reference to a secret key that + contains the credentials that must be used to connect to + the provider. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + source: + description: Source of the credentials. + enum: + - None + - Secret + - Environment + - Filesystem + type: string + required: + - source + type: object + required: + - auth + type: object + plugin: + description: Plugin configures External secret store as a plugin. + properties: + configRef: + description: ConfigRef contains store config reference info. + properties: + apiVersion: + description: APIVersion of the referenced config. + type: string + kind: + description: Kind of the referenced config. + type: string + name: + description: Name of the referenced config. + type: string + required: + - apiVersion + - kind + - name + type: object + endpoint: + description: Endpoint is the endpoint of the gRPC server. + type: string + type: object + type: + default: Kubernetes + description: Type configures which secret store to be used. Only the + configuration block for this store will be used and others will + be ignored if provided. Default is Kubernetes. + enum: + - Kubernetes + - Vault + - Plugin + type: string + vault: + description: 'Vault configures a Vault secret store. Deprecated: This + API is scheduled to be removed in a future release. Vault should + be used as a plugin going forward. See https://github.com/crossplane-contrib/ess-plugin-vault + for more information.' + properties: + auth: + description: Auth configures an authentication method for Vault. + properties: + method: + description: Method configures which auth method will be used. + type: string + token: + description: Token configures Token Auth for Vault. + properties: + env: + description: Env is a reference to an environment variable + that contains credentials that must be used to connect + to the provider. + properties: + name: + description: Name is the name of an environment variable. + type: string + required: + - name + type: object + fs: + description: Fs is a reference to a filesystem location + that contains credentials that must be used to connect + to the provider. + properties: + path: + description: Path is a filesystem path. + type: string + required: + - path + type: object + secretRef: + description: A SecretRef is a reference to a secret key + that contains the credentials that must be used to connect + to the provider. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + source: + description: Source of the credentials. + enum: + - None + - Secret + - Environment + - Filesystem + type: string + required: + - source + type: object + required: + - method + type: object + caBundle: + description: CABundle configures CA bundle for Vault Server. + properties: + env: + description: Env is a reference to an environment variable + that contains credentials that must be used to connect to + the provider. + properties: + name: + description: Name is the name of an environment variable. + type: string + required: + - name + type: object + fs: + description: Fs is a reference to a filesystem location that + contains credentials that must be used to connect to the + provider. + properties: + path: + description: Path is a filesystem path. + type: string + required: + - path + type: object + secretRef: + description: A SecretRef is a reference to a secret key that + contains the credentials that must be used to connect to + the provider. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + source: + description: Source of the credentials. + enum: + - None + - Secret + - Environment + - Filesystem + type: string + required: + - source + type: object + mountPath: + description: MountPath is the mount path of the KV secrets engine. + type: string + server: + description: Server is the url of the Vault server, e.g. "https://vault.acme.org" + type: string + version: + default: v2 + description: Version of the KV Secrets engine of Vault. https://www.vaultproject.io/docs/secrets/kv + type: string + required: + - auth + - mountPath + - server + type: object + required: + - defaultScope + type: object + status: + description: A StoreConfigStatus represents the status of a StoreConfig. + properties: + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusterinstances.yaml b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusterinstances.yaml new file mode 100644 index 000000000..3795bcef0 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusterinstances.yaml @@ -0,0 +1,553 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: clusterinstances.docdb.aws.kubedb.com +spec: + group: docdb.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: ClusterInstance + listKind: ClusterInstanceList + plural: clusterinstances + singular: clusterinstance + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ClusterInstance is the Schema for the ClusterInstances API. Provides + an DocumentDB Cluster Resource Instance + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ClusterInstanceSpec defines the desired state of ClusterInstance + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + applyImmediately: + description: Specifies whether any database modifications are + applied immediately, or during the next maintenance window. + Default isfalse. + type: boolean + autoMinorVersionUpgrade: + description: This parameter does not apply to Amazon DocumentDB. + Amazon DocumentDB does not perform minor version upgrades regardless + of the value set (see docs). Default true. + type: boolean + availabilityZone: + description: The EC2 Availability Zone that the DB instance is + created in. See docs about the details. + type: string + caCertIdentifier: + description: The identifier of the CA certificate for the DB instance. + type: string + clusterIdentifier: + description: The identifier of the aws_docdb_cluster in which + to launch this instance. + type: string + clusterIdentifierRef: + description: Reference to a Cluster to populate clusterIdentifier. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + clusterIdentifierSelector: + description: Selector for a Cluster to populate clusterIdentifier. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + enablePerformanceInsights: + description: A value that indicates whether to enable Performance + Insights for the DB Instance. Default false. See [docs] (https://docs.aws.amazon.com/documentdb/latest/developerguide/performance-insights.html) + about the details. + type: boolean + engine: + description: 'The name of the database engine to be used for the + DocumentDB instance. Defaults to docdb. Valid Values: docdb.' + type: string + instanceClass: + description: The instance class to use. For details on CPU and + memory, see Scaling for DocumentDB Instances. DocumentDB currently + supports the below instance classes. Please see AWS Documentation + for complete details. + type: string + performanceInsightsKmsKeyId: + description: The KMS key identifier is the key ARN, key ID, alias + ARN, or alias name for the KMS key. If you do not specify a + value for PerformanceInsightsKMSKeyId, then Amazon DocumentDB + uses your default KMS key. + type: string + preferredMaintenanceWindow: + description: 'The window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi". + Eg: "Mon:00:00-Mon:03:00".' + type: string + promotionTier: + description: Default 0. Failover Priority setting on instance + level. The reader who has lower tier has higher priority to + get promoter to writer. + type: number + region: + description: Region is the region you'd like your resource to + be created in. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the instance. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: instanceClass is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.instanceClass) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: ClusterInstanceStatus defines the observed state of ClusterInstance. + properties: + atProvider: + properties: + applyImmediately: + description: Specifies whether any database modifications are + applied immediately, or during the next maintenance window. + Default isfalse. + type: boolean + arn: + description: Amazon Resource Name (ARN) of cluster instance + type: string + autoMinorVersionUpgrade: + description: This parameter does not apply to Amazon DocumentDB. + Amazon DocumentDB does not perform minor version upgrades regardless + of the value set (see docs). Default true. + type: boolean + availabilityZone: + description: The EC2 Availability Zone that the DB instance is + created in. See docs about the details. + type: string + caCertIdentifier: + description: The identifier of the CA certificate for the DB instance. + type: string + clusterIdentifier: + description: The identifier of the aws_docdb_cluster in which + to launch this instance. + type: string + dbSubnetGroupName: + description: The DB subnet group to associate with this DB instance. + type: string + dbiResourceId: + description: The region-unique, immutable identifier for the DB + instance. + type: string + enablePerformanceInsights: + description: A value that indicates whether to enable Performance + Insights for the DB Instance. Default false. See [docs] (https://docs.aws.amazon.com/documentdb/latest/developerguide/performance-insights.html) + about the details. + type: boolean + endpoint: + description: The DNS address for this instance. May not be writable + type: string + engine: + description: 'The name of the database engine to be used for the + DocumentDB instance. Defaults to docdb. Valid Values: docdb.' + type: string + engineVersion: + description: The database engine version + type: string + id: + type: string + instanceClass: + description: The instance class to use. For details on CPU and + memory, see Scaling for DocumentDB Instances. DocumentDB currently + supports the below instance classes. Please see AWS Documentation + for complete details. + type: string + kmsKeyId: + description: The ARN for the KMS encryption key if one is set + to the cluster. + type: string + performanceInsightsKmsKeyId: + description: The KMS key identifier is the key ARN, key ID, alias + ARN, or alias name for the KMS key. If you do not specify a + value for PerformanceInsightsKMSKeyId, then Amazon DocumentDB + uses your default KMS key. + type: string + port: + description: The database port + type: number + preferredBackupWindow: + description: The daily time range during which automated backups + are created if automated backups are enabled. + type: string + preferredMaintenanceWindow: + description: 'The window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi". + Eg: "Mon:00:00-Mon:03:00".' + type: string + promotionTier: + description: Default 0. Failover Priority setting on instance + level. The reader who has lower tier has higher priority to + get promoter to writer. + type: number + publiclyAccessible: + type: boolean + storageEncrypted: + description: Specifies whether the DB cluster is encrypted. + type: boolean + tags: + additionalProperties: + type: string + description: A map of tags to assign to the instance. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + writer: + description: – Boolean indicating if this instance is writable. + False indicates this instance is a read replica. + type: boolean + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusterparametergroups.yaml b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusterparametergroups.yaml new file mode 100644 index 000000000..af72f720c --- /dev/null +++ b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusterparametergroups.yaml @@ -0,0 +1,402 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: clusterparametergroups.docdb.aws.kubedb.com +spec: + group: docdb.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: ClusterParameterGroup + listKind: ClusterParameterGroupList + plural: clusterparametergroups + singular: clusterparametergroup + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ClusterParameterGroup is the Schema for the ClusterParameterGroups + API. Manages a DocumentDB Cluster Parameter Group + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ClusterParameterGroupSpec defines the desired state of ClusterParameterGroup + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: The description of the DocumentDB cluster parameter + group. + type: string + family: + description: The family of the DocumentDB cluster parameter group. + type: string + parameter: + description: A list of DocumentDB parameters to apply. Setting + parameters to system default values may show a difference on + imported resources. + items: + properties: + applyMethod: + description: Valid values are immediate and pending-reboot. + Defaults to pending-reboot. + type: string + name: + description: The name of the DocumentDB cluster parameter + group. + type: string + value: + description: The value of the DocumentDB parameter. + type: string + required: + - name + - value + type: object + type: array + region: + description: Region is the region you'd like your resource to + be created in. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: family is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.family) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: ClusterParameterGroupStatus defines the observed state of + ClusterParameterGroup. + properties: + atProvider: + properties: + arn: + description: The ARN of the DocumentDB cluster parameter group. + type: string + description: + description: The description of the DocumentDB cluster parameter + group. + type: string + family: + description: The family of the DocumentDB cluster parameter group. + type: string + id: + description: The DocumentDB cluster parameter group name. + type: string + parameter: + description: A list of DocumentDB parameters to apply. Setting + parameters to system default values may show a difference on + imported resources. + items: + properties: + applyMethod: + description: Valid values are immediate and pending-reboot. + Defaults to pending-reboot. + type: string + name: + description: The name of the DocumentDB cluster parameter + group. + type: string + value: + description: The value of the DocumentDB parameter. + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusters.yaml b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusters.yaml new file mode 100644 index 000000000..f2e3cc744 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clusters.yaml @@ -0,0 +1,568 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: clusters.docdb.aws.kubedb.com +spec: + group: docdb.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: Cluster + listKind: ClusterList + plural: clusters + singular: cluster + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Cluster is the Schema for the Clusters API. Manages a DocumentDB + Aurora Cluster + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ClusterSpec defines the desired state of Cluster + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + applyImmediately: + description: Specifies whether any cluster modifications are applied + immediately, or during the next maintenance window. Default + is false. + type: boolean + availabilityZones: + description: A list of EC2 Availability Zones that instances in + the DB cluster can be created in. + items: + type: string + type: array + backupRetentionPeriod: + description: The days to retain backups for. Default 1 + type: number + dbClusterParameterGroupName: + description: A cluster parameter group to associate with the cluster. + type: string + dbSubnetGroupName: + description: A DB subnet group to associate with this DB instance. + type: string + deletionProtection: + description: A value that indicates whether the DB cluster has + deletion protection enabled. The database can't be deleted when + deletion protection is enabled. By default, deletion protection + is disabled. + type: boolean + enabledCloudwatchLogsExports: + description: 'List of log types to export to cloudwatch. If omitted, + no logs will be exported. The following log types are supported: + audit, profiler.' + items: + type: string + type: array + engine: + description: 'The name of the database engine to be used for this + DB cluster. Defaults to docdb. Valid Values: docdb' + type: string + engineVersion: + description: The database engine version. Updating this argument + results in an outage. + type: string + finalSnapshotIdentifier: + description: The name of your final DB snapshot when this DB cluster + is deleted. If omitted, no final snapshot will be made. + type: string + globalClusterIdentifier: + description: The global cluster identifier specified on aws_docdb_global_cluster. + type: string + kmsKeyId: + description: The ARN for the KMS encryption key. When specifying + kms_key_id, storage_encrypted needs to be set to true. + type: string + masterPasswordSecretRef: + description: Password for the master DB user. Note that this may + show up in logs, and it will be stored in the state file. Please + refer to the DocumentDB Naming Constraints. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + masterUsername: + description: Username for the master DB user. + type: string + port: + description: The port on which the DB accepts connections + type: number + preferredBackupWindow: + description: 'The daily time range during which automated backups + are created if automated backups are enabled using the BackupRetentionPeriod + parameter.Time in UTC Default: A 30-minute window selected at + random from an 8-hour block of time per regionE.g., 04:00-09:00' + type: string + preferredMaintenanceWindow: + description: The weekly time range during which system maintenance + can occur, in (UTC) e.g., wed:04:00-wed:04:30 + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + skipFinalSnapshot: + description: Determines whether a final DB snapshot is created + before the DB cluster is deleted. If true is specified, no DB + snapshot is created. If false is specified, a DB snapshot is + created before the DB cluster is deleted, using the value from + final_snapshot_identifier. Default is false. + type: boolean + snapshotIdentifier: + description: Specifies whether or not to create this cluster from + a snapshot. You can use either the name or ARN when specifying + a DB cluster snapshot, or the ARN when specifying a DB snapshot. + Automated snapshots should not be used for this attribute, unless + from a different cluster. Automated snapshots are deleted as + part of cluster destruction when the resource is replaced. + type: string + storageEncrypted: + description: Specifies whether the DB cluster is encrypted. The + default is false. + type: boolean + tags: + additionalProperties: + type: string + description: A map of tags to assign to the DB cluster. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + vpcSecurityGroupIds: + description: List of VPC security groups to associate with the + Cluster + items: + type: string + type: array + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: ClusterStatus defines the observed state of Cluster. + properties: + atProvider: + properties: + applyImmediately: + description: Specifies whether any cluster modifications are applied + immediately, or during the next maintenance window. Default + is false. + type: boolean + arn: + description: Amazon Resource Name (ARN) of cluster + type: string + availabilityZones: + description: A list of EC2 Availability Zones that instances in + the DB cluster can be created in. + items: + type: string + type: array + backupRetentionPeriod: + description: The days to retain backups for. Default 1 + type: number + clusterMembers: + description: – List of DocumentDB Instances that are a part of + this cluster + items: + type: string + type: array + clusterResourceId: + description: The DocumentDB Cluster Resource ID + type: string + dbClusterParameterGroupName: + description: A cluster parameter group to associate with the cluster. + type: string + dbSubnetGroupName: + description: A DB subnet group to associate with this DB instance. + type: string + deletionProtection: + description: A value that indicates whether the DB cluster has + deletion protection enabled. The database can't be deleted when + deletion protection is enabled. By default, deletion protection + is disabled. + type: boolean + enabledCloudwatchLogsExports: + description: 'List of log types to export to cloudwatch. If omitted, + no logs will be exported. The following log types are supported: + audit, profiler.' + items: + type: string + type: array + endpoint: + description: The DNS address of the DocumentDB instance + type: string + engine: + description: 'The name of the database engine to be used for this + DB cluster. Defaults to docdb. Valid Values: docdb' + type: string + engineVersion: + description: The database engine version. Updating this argument + results in an outage. + type: string + finalSnapshotIdentifier: + description: The name of your final DB snapshot when this DB cluster + is deleted. If omitted, no final snapshot will be made. + type: string + globalClusterIdentifier: + description: The global cluster identifier specified on aws_docdb_global_cluster. + type: string + hostedZoneId: + description: The Route53 Hosted Zone ID of the endpoint + type: string + id: + description: The DocumentDB Cluster Identifier + type: string + kmsKeyId: + description: The ARN for the KMS encryption key. When specifying + kms_key_id, storage_encrypted needs to be set to true. + type: string + masterUsername: + description: Username for the master DB user. + type: string + port: + description: The port on which the DB accepts connections + type: number + preferredBackupWindow: + description: 'The daily time range during which automated backups + are created if automated backups are enabled using the BackupRetentionPeriod + parameter.Time in UTC Default: A 30-minute window selected at + random from an 8-hour block of time per regionE.g., 04:00-09:00' + type: string + preferredMaintenanceWindow: + description: The weekly time range during which system maintenance + can occur, in (UTC) e.g., wed:04:00-wed:04:30 + type: string + readerEndpoint: + description: A read-only endpoint for the DocumentDB cluster, + automatically load-balanced across replicas + type: string + skipFinalSnapshot: + description: Determines whether a final DB snapshot is created + before the DB cluster is deleted. If true is specified, no DB + snapshot is created. If false is specified, a DB snapshot is + created before the DB cluster is deleted, using the value from + final_snapshot_identifier. Default is false. + type: boolean + snapshotIdentifier: + description: Specifies whether or not to create this cluster from + a snapshot. You can use either the name or ARN when specifying + a DB cluster snapshot, or the ARN when specifying a DB snapshot. + Automated snapshots should not be used for this attribute, unless + from a different cluster. Automated snapshots are deleted as + part of cluster destruction when the resource is replaced. + type: string + storageEncrypted: + description: Specifies whether the DB cluster is encrypted. The + default is false. + type: boolean + tags: + additionalProperties: + type: string + description: A map of tags to assign to the DB cluster. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + vpcSecurityGroupIds: + description: List of VPC security groups to associate with the + Cluster + items: + type: string + type: array + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clustersnapshots.yaml b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clustersnapshots.yaml new file mode 100644 index 000000000..f20901777 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_clustersnapshots.yaml @@ -0,0 +1,364 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: clustersnapshots.docdb.aws.kubedb.com +spec: + group: docdb.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: ClusterSnapshot + listKind: ClusterSnapshotList + plural: clustersnapshots + singular: clustersnapshot + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ClusterSnapshot is the Schema for the ClusterSnapshots API. Manages + a DocumentDB database cluster snapshot. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ClusterSnapshotSpec defines the desired state of ClusterSnapshot + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + dbClusterIdentifier: + description: The DocumentDB Cluster Identifier from which to take + the snapshot. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: dbClusterIdentifier is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.dbClusterIdentifier) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: ClusterSnapshotStatus defines the observed state of ClusterSnapshot. + properties: + atProvider: + properties: + availabilityZones: + description: List of EC2 Availability Zones that instances in + the DocumentDB cluster snapshot can be restored in. + items: + type: string + type: array + dbClusterIdentifier: + description: The DocumentDB Cluster Identifier from which to take + the snapshot. + type: string + dbClusterSnapshotArn: + description: The Amazon Resource Name (ARN) for the DocumentDB + Cluster Snapshot. + type: string + engine: + description: Specifies the name of the database engine. + type: string + engineVersion: + description: Version of the database engine for this DocumentDB + cluster snapshot. + type: string + id: + type: string + kmsKeyId: + description: If storage_encrypted is true, the AWS KMS key identifier + for the encrypted DocumentDB cluster snapshot. + type: string + port: + description: Port that the DocumentDB cluster was listening on + at the time of the snapshot. + type: number + snapshotType: + type: string + sourceDbClusterSnapshotArn: + description: The Amazon Resource Name (ARN) for the DocumentDB + Cluster Snapshot. + type: string + status: + description: The status of this DocumentDB Cluster Snapshot. + type: string + storageEncrypted: + description: Specifies whether the DocumentDB cluster snapshot + is encrypted. + type: boolean + vpcId: + description: The VPC ID associated with the DocumentDB cluster + snapshot. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_eventsubscriptions.yaml b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_eventsubscriptions.yaml new file mode 100644 index 000000000..b612cc5d9 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_eventsubscriptions.yaml @@ -0,0 +1,409 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: eventsubscriptions.docdb.aws.kubedb.com +spec: + group: docdb.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: EventSubscription + listKind: EventSubscriptionList + plural: eventsubscriptions + singular: eventsubscription + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: EventSubscription is the Schema for the EventSubscriptions API. + Provides a DocumentDB event subscription resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: EventSubscriptionSpec defines the desired state of EventSubscription + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + enabled: + description: A boolean flag to enable/disable the subscription. + Defaults to true. + type: boolean + eventCategories: + description: A list of event categories for a SourceType that + you want to subscribe to. See https://docs.aws.amazon.com/documentdb/latest/developerguide/API_Event.html + or run aws docdb describe-event-categories. + items: + type: string + type: array + region: + description: Region is the region you'd like your resource to + be created in. + type: string + snsTopicArn: + description: The Amazon Resource Name of the DocumentDB event + notification subscription + type: string + sourceIds: + description: A list of identifiers of the event sources for which + events will be returned. If not specified, then all sources + are included in the response. If specified, a source_type must + also be specified. + items: + type: string + type: array + sourceType: + description: The type of source that will be generating the events. + Valid options are db-instance, db-cluster, db-parameter-group, + db-security-group, db-cluster-snapshot. If not set, all sources + will be subscribed to. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + - message: snsTopicArn is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.snsTopicArn) + status: + description: EventSubscriptionStatus defines the observed state of EventSubscription. + properties: + atProvider: + properties: + arn: + description: The Amazon Resource Name of the DocumentDB event + notification subscription + type: string + customerAwsId: + description: The AWS customer account associated with the DocumentDB + event notification subscription + type: string + enabled: + description: A boolean flag to enable/disable the subscription. + Defaults to true. + type: boolean + eventCategories: + description: A list of event categories for a SourceType that + you want to subscribe to. See https://docs.aws.amazon.com/documentdb/latest/developerguide/API_Event.html + or run aws docdb describe-event-categories. + items: + type: string + type: array + id: + description: The name of the DocumentDB event notification subscription + type: string + snsTopicArn: + description: The Amazon Resource Name of the DocumentDB event + notification subscription + type: string + sourceIds: + description: A list of identifiers of the event sources for which + events will be returned. If not specified, then all sources + are included in the response. If specified, a source_type must + also be specified. + items: + type: string + type: array + sourceType: + description: The type of source that will be generating the events. + Valid options are db-instance, db-cluster, db-parameter-group, + db-security-group, db-cluster-snapshot. If not set, all sources + will be subscribed to. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_globalclusters.yaml b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_globalclusters.yaml new file mode 100644 index 000000000..5c5454fda --- /dev/null +++ b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_globalclusters.yaml @@ -0,0 +1,399 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: globalclusters.docdb.aws.kubedb.com +spec: + group: docdb.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: GlobalCluster + listKind: GlobalClusterList + plural: globalclusters + singular: globalcluster + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: GlobalCluster is the Schema for the GlobalClusters API. Manages + a DocumentDB Global Cluster + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: GlobalClusterSpec defines the desired state of GlobalCluster + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + databaseName: + description: Name for an automatically created database on cluster + creation. + type: string + deletionProtection: + description: If the Global Cluster should have deletion protection + enabled. The database can't be deleted when this value is set + to true. The default is false. + type: boolean + engine: + description: 'Name of the database engine to be used for this + DB cluster. Current Valid values: docdb. Defaults to docdb. + Conflicts with source_db_cluster_identifier.' + type: string + engineVersion: + description: Engine version of the global database. Upgrading + the engine version will result in all cluster members being + immediately updated and will. + type: string + globalClusterIdentifier: + description: The global cluster identifier. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + sourceDbClusterIdentifier: + description: Amazon Resource Name (ARN) to use as the primary + DB Cluster of the Global Cluster on creation. + type: string + storageEncrypted: + description: Specifies whether the DB cluster is encrypted. The + default is false unless source_db_cluster_identifier is specified + and encrypted. + type: boolean + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: globalClusterIdentifier is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.globalClusterIdentifier) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: GlobalClusterStatus defines the observed state of GlobalCluster. + properties: + atProvider: + properties: + arn: + description: Global Cluster Amazon Resource Name (ARN) + type: string + databaseName: + description: Name for an automatically created database on cluster + creation. + type: string + deletionProtection: + description: If the Global Cluster should have deletion protection + enabled. The database can't be deleted when this value is set + to true. The default is false. + type: boolean + engine: + description: 'Name of the database engine to be used for this + DB cluster. Current Valid values: docdb. Defaults to docdb. + Conflicts with source_db_cluster_identifier.' + type: string + engineVersion: + description: Engine version of the global database. Upgrading + the engine version will result in all cluster members being + immediately updated and will. + type: string + globalClusterIdentifier: + description: The global cluster identifier. + type: string + globalClusterMembers: + description: Set of objects containing Global Cluster members. + items: + properties: + dbClusterArn: + description: Amazon Resource Name (ARN) of member DB Cluster. + type: string + isWriter: + description: Whether the member is the primary DB Cluster. + type: boolean + type: object + type: array + globalClusterResourceId: + description: AWS Region-unique, immutable identifier for the global + database cluster. This identifier is found in AWS CloudTrail + log entries whenever the AWS KMS key for the DB cluster is accessed. + type: string + id: + description: DocumentDB Global Cluster ID. + type: string + sourceDbClusterIdentifier: + description: Amazon Resource Name (ARN) to use as the primary + DB Cluster of the Global Cluster on creation. + type: string + status: + type: string + storageEncrypted: + description: Specifies whether the DB cluster is encrypted. The + default is false unless source_db_cluster_identifier is specified + and encrypted. + type: boolean + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_subnetgroups.yaml b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_subnetgroups.yaml new file mode 100644 index 000000000..58b520fbe --- /dev/null +++ b/charts/kubedb-provider-aws/crds/docdb.aws.kubedb.com_subnetgroups.yaml @@ -0,0 +1,437 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: subnetgroups.docdb.aws.kubedb.com +spec: + group: docdb.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: SubnetGroup + listKind: SubnetGroupList + plural: subnetgroups + singular: subnetgroup + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: SubnetGroup is the Schema for the SubnetGroups API. Provides + an DocumentDB subnet group resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SubnetGroupSpec defines the desired state of SubnetGroup + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: The description of the docDB subnet group. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + subnetIds: + description: A list of VPC subnet IDs. + items: + type: string + type: array + subnetIdsRefs: + description: References to Subnet in ec2 to populate subnetIds. + items: + description: A Reference to a named object. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which + will attempt to resolve the reference only when the + corresponding field is not present. Use 'Always' to + resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + type: array + subnetIdsSelector: + description: Selector for a list of Subnet in ec2 to populate + subnetIds. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: SubnetGroupStatus defines the observed state of SubnetGroup. + properties: + atProvider: + properties: + arn: + description: The ARN of the docDB subnet group. + type: string + description: + description: The description of the docDB subnet group. + type: string + id: + description: The docDB subnet group name. + type: string + subnetIds: + description: A list of VPC subnet IDs. + items: + type: string + type: array + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_contributorinsights.yaml b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_contributorinsights.yaml new file mode 100644 index 000000000..ff1f2fc7e --- /dev/null +++ b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_contributorinsights.yaml @@ -0,0 +1,397 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: contributorinsights.dynamodb.aws.kubedb.com +spec: + group: dynamodb.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: ContributorInsights + listKind: ContributorInsightsList + plural: contributorinsights + singular: contributorinsights + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ContributorInsights is the Schema for the ContributorInsightss + API. Provides a DynamoDB contributor insights resource + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ContributorInsightsSpec defines the desired state of ContributorInsights + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + indexName: + description: The global secondary index name + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + tableName: + description: The name of the table to enable contributor insights + type: string + tableNameRef: + description: Reference to a Table to populate tableName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + tableNameSelector: + description: Selector for a Table to populate tableName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: ContributorInsightsStatus defines the observed state of ContributorInsights. + properties: + atProvider: + properties: + id: + type: string + indexName: + description: The global secondary index name + type: string + tableName: + description: The name of the table to enable contributor insights + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_globaltables.yaml b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_globaltables.yaml new file mode 100644 index 000000000..255920a14 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_globaltables.yaml @@ -0,0 +1,342 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: globaltables.dynamodb.aws.kubedb.com +spec: + group: dynamodb.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: GlobalTable + listKind: GlobalTableList + plural: globaltables + singular: globaltable + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: GlobalTable is the Schema for the GlobalTables API. Manages DynamoDB + Global Tables V1 (version 2017.11.29) + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: GlobalTableSpec defines the desired state of GlobalTable + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + region: + description: Region is the region you'd like your resource to + be created in. + type: string + replica: + description: Underlying DynamoDB Table. At least 1 replica must + be defined. See below. + items: + properties: + regionName: + description: AWS region name of replica DynamoDB TableE.g., + us-east-1 + type: string + required: + - regionName + type: object + type: array + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + - message: replica is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.replica) + status: + description: GlobalTableStatus defines the observed state of GlobalTable. + properties: + atProvider: + properties: + arn: + description: The ARN of the DynamoDB Global Table + type: string + id: + description: The name of the DynamoDB Global Table + type: string + replica: + description: Underlying DynamoDB Table. At least 1 replica must + be defined. See below. + items: + properties: + regionName: + description: AWS region name of replica DynamoDB TableE.g., + us-east-1 + type: string + type: object + type: array + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_kinesisstreamingdestinations.yaml b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_kinesisstreamingdestinations.yaml new file mode 100644 index 000000000..a7fade9f7 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_kinesisstreamingdestinations.yaml @@ -0,0 +1,478 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: kinesisstreamingdestinations.dynamodb.aws.kubedb.com +spec: + group: dynamodb.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: KinesisStreamingDestination + listKind: KinesisStreamingDestinationList + plural: kinesisstreamingdestinations + singular: kinesisstreamingdestination + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: KinesisStreamingDestination is the Schema for the KinesisStreamingDestinations + API. Enables a Kinesis streaming destination for a DynamoDB table + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: KinesisStreamingDestinationSpec defines the desired state + of KinesisStreamingDestination + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + region: + description: Region is the region you'd like your resource to + be created in. + type: string + streamArn: + description: The ARN for a Kinesis data stream. This must exist + in the same account and region as the DynamoDB table. + type: string + streamArnRef: + description: Reference to a Stream in kinesis to populate streamArn. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + streamArnSelector: + description: Selector for a Stream in kinesis to populate streamArn. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + tableName: + description: The name of the DynamoDB table. There can only be + one Kinesis streaming destination for a given DynamoDB table. + type: string + tableNameRef: + description: Reference to a Table to populate tableName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + tableNameSelector: + description: Selector for a Table to populate tableName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: KinesisStreamingDestinationStatus defines the observed state + of KinesisStreamingDestination. + properties: + atProvider: + properties: + id: + description: The table_name and stream_arn separated by a comma + (,). + type: string + streamArn: + description: The ARN for a Kinesis data stream. This must exist + in the same account and region as the DynamoDB table. + type: string + tableName: + description: The name of the DynamoDB table. There can only be + one Kinesis streaming destination for a given DynamoDB table. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tableitems.yaml b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tableitems.yaml new file mode 100644 index 000000000..5ee79975a --- /dev/null +++ b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tableitems.yaml @@ -0,0 +1,423 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: tableitems.dynamodb.aws.kubedb.com +spec: + group: dynamodb.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: TableItem + listKind: TableItemList + plural: tableitems + singular: tableitem + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: TableItem is the Schema for the TableItems API. Provides a DynamoDB + table item resource + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: TableItemSpec defines the desired state of TableItem + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + hashKey: + description: Hash key to use for lookups and identification of + the item + type: string + item: + description: JSON representation of a map of attribute name/value + pairs, one for each attribute. Only the primary key attributes + are required; you can optionally provide other attribute name-value + pairs for the item. + type: string + rangeKey: + description: Range key to use for lookups and identification of + the item. Required if there is range key defined in the table. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + tableName: + description: Name of the table to contain the item. + type: string + tableNameRef: + description: Reference to a Table to populate tableName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + tableNameSelector: + description: Selector for a Table to populate tableName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: hashKey is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.hashKey) + - message: item is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.item) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: TableItemStatus defines the observed state of TableItem. + properties: + atProvider: + properties: + hashKey: + description: Hash key to use for lookups and identification of + the item + type: string + id: + type: string + item: + description: JSON representation of a map of attribute name/value + pairs, one for each attribute. Only the primary key attributes + are required; you can optionally provide other attribute name-value + pairs for the item. + type: string + rangeKey: + description: Range key to use for lookups and identification of + the item. Required if there is range key defined in the table. + type: string + tableName: + description: Name of the table to contain the item. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tablereplicas.yaml b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tablereplicas.yaml new file mode 100644 index 000000000..85961e74b --- /dev/null +++ b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tablereplicas.yaml @@ -0,0 +1,387 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: tablereplicas.dynamodb.aws.kubedb.com +spec: + group: dynamodb.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: TableReplica + listKind: TableReplicaList + plural: tablereplicas + singular: tablereplica + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: TableReplica is the Schema for the TableReplicas API. Provides + a DynamoDB table replica resource + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: TableReplicaSpec defines the desired state of TableReplica + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + globalTableArn: + description: ARN of the main or global table which this resource + will replicate. + type: string + kmsKeyArn: + description: 'ARN of the CMK that should be used for the AWS KMS + encryption. This argument should only be used if the key is + different from the default KMS-managed DynamoDB key, alias/aws/dynamodb. + Note: This attribute will not be populated with the ARN of default + keys.' + type: string + pointInTimeRecovery: + description: Whether to enable Point In Time Recovery for the + replica. Default is false. + type: boolean + region: + description: Region is the region you'd like your resource to + be created in. + type: string + tableClassOverride: + description: Storage class of the table replica. Valid values + are STANDARD and STANDARD_INFREQUENT_ACCESS. If not used, the + table replica will use the same class as the global table. + type: string + tags: + additionalProperties: + type: string + description: Map of tags to populate on the created table. If + configured with a provider default_tags configuration block + present, tags with matching keys will overwrite those defined + at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: Map of tags assigned to the resource, including those + inherited from the provider default_tags configuration block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: globalTableArn is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.globalTableArn) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: TableReplicaStatus defines the observed state of TableReplica. + properties: + atProvider: + properties: + arn: + description: ARN of the table replica. + type: string + globalTableArn: + description: ARN of the main or global table which this resource + will replicate. + type: string + id: + description: Name of the table and region of the main global table + joined with a semicolon (e.g., TableName:us-east-1). + type: string + kmsKeyArn: + description: 'ARN of the CMK that should be used for the AWS KMS + encryption. This argument should only be used if the key is + different from the default KMS-managed DynamoDB key, alias/aws/dynamodb. + Note: This attribute will not be populated with the ARN of default + keys.' + type: string + pointInTimeRecovery: + description: Whether to enable Point In Time Recovery for the + replica. Default is false. + type: boolean + tableClassOverride: + description: Storage class of the table replica. Valid values + are STANDARD and STANDARD_INFREQUENT_ACCESS. If not used, the + table replica will use the same class as the global table. + type: string + tags: + additionalProperties: + type: string + description: Map of tags to populate on the created table. If + configured with a provider default_tags configuration block + present, tags with matching keys will overwrite those defined + at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: Map of tags assigned to the resource, including those + inherited from the provider default_tags configuration block. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tables.yaml b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tables.yaml new file mode 100644 index 000000000..dfc06b1e6 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tables.yaml @@ -0,0 +1,818 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: tables.dynamodb.aws.kubedb.com +spec: + group: dynamodb.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: Table + listKind: TableList + plural: tables + singular: table + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Table is the Schema for the Tables API. Provides a DynamoDB table + resource + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: TableSpec defines the desired state of Table + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + attribute: + description: Set of nested attribute definitions. Only required + for hash_key and range_key attributes. See below. + items: + properties: + name: + description: Name of the attribute + type: string + type: + description: Attribute type. Valid values are S (string), + N (number), B (binary). + type: string + required: + - name + - type + type: object + type: array + billingMode: + description: Controls how you are charged for read and write throughput + and how you manage capacity. The valid values are PROVISIONED + and PAY_PER_REQUEST. Defaults to PROVISIONED. + type: string + deletionProtectionEnabled: + description: Enables deletion protection for table. Defaults to + false. + type: boolean + globalSecondaryIndex: + description: Describe a GSI for the table; subject to the normal + limits on the number of GSIs, projected attributes, etc. See + below. + items: + properties: + hashKey: + description: Name of the hash key in the index; must be + defined as an attribute in the resource. + type: string + name: + description: Name of the index. + type: string + nonKeyAttributes: + description: Only required with INCLUDE as a projection + type; a list of attributes to project into the index. + These do not need to be defined as attributes on the table. + items: + type: string + type: array + projectionType: + description: One of ALL, INCLUDE or KEYS_ONLY where ALL + projects every attribute into the index, KEYS_ONLY projects into + the index only the table and index hash_key and sort_key + attributes , INCLUDE projects into the index all of the + attributes that are defined in non_key_attributes in addition + to the attributes that thatKEYS_ONLY project. + type: string + rangeKey: + description: Name of the range key; must be defined + type: string + readCapacity: + description: Number of read units for this index. Must be + set if billing_mode is set to PROVISIONED. + type: number + writeCapacity: + description: Number of write units for this index. Must + be set if billing_mode is set to PROVISIONED. + type: number + required: + - hashKey + - name + - projectionType + type: object + type: array + hashKey: + description: Attribute to use as the hash (partition) key. Must + also be defined as an attribute. See below. + type: string + localSecondaryIndex: + description: Describe an LSI on the table; these can only be allocated + at creation so you cannot change this definition after you have + created the resource. See below. + items: + properties: + name: + description: Name of the index + type: string + nonKeyAttributes: + description: Only required with INCLUDE as a projection + type; a list of attributes to project into the index. + These do not need to be defined as attributes on the table. + items: + type: string + type: array + projectionType: + description: One of ALL, INCLUDE or KEYS_ONLY where ALL + projects every attribute into the index, KEYS_ONLY projects into + the index only the table and index hash_key and sort_key + attributes , INCLUDE projects into the index all of the + attributes that are defined in non_key_attributes in addition + to the attributes that thatKEYS_ONLY project. + type: string + rangeKey: + description: Name of the range key. + type: string + required: + - name + - projectionType + - rangeKey + type: object + type: array + pointInTimeRecovery: + description: Enable point-in-time recovery options. See below. + items: + properties: + enabled: + description: Whether to enable point-in-time recovery. It + can take 10 minutes to enable for new tables. If the point_in_time_recovery + block is not provided, this defaults to false. + type: boolean + required: + - enabled + type: object + type: array + rangeKey: + description: Attribute to use as the range (sort) key. Must also + be defined as an attribute, see below. + type: string + readCapacity: + description: Number of read units for this table. If the billing_mode + is PROVISIONED, this field is required. + type: number + region: + description: Region is the region you'd like your resource to + be created in. + type: string + replica: + description: Configuration block(s) with DynamoDB Global Tables + V2 (version 2019.11.21) replication configurations. See below. + items: + properties: + kmsKeyArn: + description: 'ARN of the CMK that should be used for the + AWS KMS encryption. This argument should only be used + if the key is different from the default KMS-managed DynamoDB + key, alias/aws/dynamodb. Note: This attribute will not + be populated with the ARN of default keys.' + type: string + pointInTimeRecovery: + description: Whether to enable Point In Time Recovery for + the replica. Default is false. + type: boolean + propagateTags: + description: 'Whether to propagate the global table''s tags + to a replica. Default is false. Changes to tags only move + in one direction: from global (source) to replica. In + other words, tag drift on a replica will not trigger an + update. Tag or replica changes on the global table, whether + from drift or configuration changes, are propagated to + replicas. Changing from true to false on a subsequent + apply means replica tags are left as they were, unmanaged, + not deleted.' + type: boolean + regionName: + description: Region name of the replica. + type: string + required: + - regionName + type: object + type: array + restoreDateTime: + description: Time of the point-in-time recovery point to restore. + type: string + restoreSourceName: + description: Name of the table to restore. Must match the name + of an existing table. + type: string + restoreToLatestTime: + description: If set, restores table to the most recent point-in-time + recovery point. + type: boolean + serverSideEncryption: + description: Encryption at rest options. AWS DynamoDB tables are + automatically encrypted at rest with an AWS-owned Customer Master + Key if this argument isn't specified. See below. + items: + properties: + enabled: + description: Whether or not to enable encryption at rest + using an AWS managed KMS customer master key (CMK). If + enabled is false then server-side encryption is set to + AWS-owned key (shown as DEFAULT in the AWS console). Potentially + confusingly, if enabled is true and no kms_key_arn is + specified then server-side encryption is set to the default + KMS-managed key (shown as KMS in the AWS console). The + AWS KMS documentation explains the difference between + AWS-owned and KMS-managed keys. + type: boolean + kmsKeyArn: + description: 'ARN of the CMK that should be used for the + AWS KMS encryption. This argument should only be used + if the key is different from the default KMS-managed DynamoDB + key, alias/aws/dynamodb. Note: This attribute will not + be populated with the ARN of default keys.' + type: string + required: + - enabled + type: object + type: array + streamEnabled: + description: Whether Streams are enabled. + type: boolean + streamViewType: + description: When an item in the table is modified, StreamViewType + determines what information is written to the table's stream. + Valid values are KEYS_ONLY, NEW_IMAGE, OLD_IMAGE, NEW_AND_OLD_IMAGES. + type: string + tableClass: + description: Storage class of the table. Valid values are STANDARD + and STANDARD_INFREQUENT_ACCESS. Default value is STANDARD. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to populate on the created table. If + configured with a provider default_tags configuration block + present, tags with matching keys will overwrite those defined + at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: Map of tags assigned to the resource, including those + inherited from the provider default_tags configuration block. + type: object + ttl: + description: Configuration block for TTL. See below. + items: + properties: + attributeName: + description: Name of the table attribute to store the TTL + timestamp in. + type: string + enabled: + description: Whether TTL is enabled. + type: boolean + required: + - attributeName + type: object + type: array + writeCapacity: + description: Number of write units for this table. If the billing_mode + is PROVISIONED, this field is required. + type: number + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: TableStatus defines the observed state of Table. + properties: + atProvider: + properties: + arn: + description: ARN of the table + type: string + attribute: + description: Set of nested attribute definitions. Only required + for hash_key and range_key attributes. See below. + items: + properties: + name: + description: Name of the attribute + type: string + type: + description: Attribute type. Valid values are S (string), + N (number), B (binary). + type: string + type: object + type: array + billingMode: + description: Controls how you are charged for read and write throughput + and how you manage capacity. The valid values are PROVISIONED + and PAY_PER_REQUEST. Defaults to PROVISIONED. + type: string + deletionProtectionEnabled: + description: Enables deletion protection for table. Defaults to + false. + type: boolean + globalSecondaryIndex: + description: Describe a GSI for the table; subject to the normal + limits on the number of GSIs, projected attributes, etc. See + below. + items: + properties: + hashKey: + description: Name of the hash key in the index; must be + defined as an attribute in the resource. + type: string + name: + description: Name of the index. + type: string + nonKeyAttributes: + description: Only required with INCLUDE as a projection + type; a list of attributes to project into the index. + These do not need to be defined as attributes on the table. + items: + type: string + type: array + projectionType: + description: One of ALL, INCLUDE or KEYS_ONLY where ALL + projects every attribute into the index, KEYS_ONLY projects into + the index only the table and index hash_key and sort_key + attributes , INCLUDE projects into the index all of the + attributes that are defined in non_key_attributes in addition + to the attributes that thatKEYS_ONLY project. + type: string + rangeKey: + description: Name of the range key; must be defined + type: string + readCapacity: + description: Number of read units for this index. Must be + set if billing_mode is set to PROVISIONED. + type: number + writeCapacity: + description: Number of write units for this index. Must + be set if billing_mode is set to PROVISIONED. + type: number + type: object + type: array + hashKey: + description: Attribute to use as the hash (partition) key. Must + also be defined as an attribute. See below. + type: string + id: + description: Name of the table + type: string + localSecondaryIndex: + description: Describe an LSI on the table; these can only be allocated + at creation so you cannot change this definition after you have + created the resource. See below. + items: + properties: + name: + description: Name of the index + type: string + nonKeyAttributes: + description: Only required with INCLUDE as a projection + type; a list of attributes to project into the index. + These do not need to be defined as attributes on the table. + items: + type: string + type: array + projectionType: + description: One of ALL, INCLUDE or KEYS_ONLY where ALL + projects every attribute into the index, KEYS_ONLY projects into + the index only the table and index hash_key and sort_key + attributes , INCLUDE projects into the index all of the + attributes that are defined in non_key_attributes in addition + to the attributes that thatKEYS_ONLY project. + type: string + rangeKey: + description: Name of the range key. + type: string + type: object + type: array + pointInTimeRecovery: + description: Enable point-in-time recovery options. See below. + items: + properties: + enabled: + description: Whether to enable point-in-time recovery. It + can take 10 minutes to enable for new tables. If the point_in_time_recovery + block is not provided, this defaults to false. + type: boolean + type: object + type: array + rangeKey: + description: Attribute to use as the range (sort) key. Must also + be defined as an attribute, see below. + type: string + readCapacity: + description: Number of read units for this table. If the billing_mode + is PROVISIONED, this field is required. + type: number + replica: + description: Configuration block(s) with DynamoDB Global Tables + V2 (version 2019.11.21) replication configurations. See below. + items: + properties: + arn: + description: ARN of the replica + type: string + kmsKeyArn: + description: 'ARN of the CMK that should be used for the + AWS KMS encryption. This argument should only be used + if the key is different from the default KMS-managed DynamoDB + key, alias/aws/dynamodb. Note: This attribute will not + be populated with the ARN of default keys.' + type: string + pointInTimeRecovery: + description: Whether to enable Point In Time Recovery for + the replica. Default is false. + type: boolean + propagateTags: + description: 'Whether to propagate the global table''s tags + to a replica. Default is false. Changes to tags only move + in one direction: from global (source) to replica. In + other words, tag drift on a replica will not trigger an + update. Tag or replica changes on the global table, whether + from drift or configuration changes, are propagated to + replicas. Changing from true to false on a subsequent + apply means replica tags are left as they were, unmanaged, + not deleted.' + type: boolean + regionName: + description: Region name of the replica. + type: string + streamArn: + description: ARN of the Table Stream. Only available when + stream_enabled = true + type: string + streamLabel: + description: Timestamp, in ISO 8601 format, for this stream. + Note that this timestamp is not a unique identifier for + the stream on its own. However, the combination of AWS + customer ID, table name and this field is guaranteed to + be unique. It can be used for creating CloudWatch Alarms. + Only available when stream_enabled = true. + type: string + type: object + type: array + restoreDateTime: + description: Time of the point-in-time recovery point to restore. + type: string + restoreSourceName: + description: Name of the table to restore. Must match the name + of an existing table. + type: string + restoreToLatestTime: + description: If set, restores table to the most recent point-in-time + recovery point. + type: boolean + serverSideEncryption: + description: Encryption at rest options. AWS DynamoDB tables are + automatically encrypted at rest with an AWS-owned Customer Master + Key if this argument isn't specified. See below. + items: + properties: + enabled: + description: Whether or not to enable encryption at rest + using an AWS managed KMS customer master key (CMK). If + enabled is false then server-side encryption is set to + AWS-owned key (shown as DEFAULT in the AWS console). Potentially + confusingly, if enabled is true and no kms_key_arn is + specified then server-side encryption is set to the default + KMS-managed key (shown as KMS in the AWS console). The + AWS KMS documentation explains the difference between + AWS-owned and KMS-managed keys. + type: boolean + kmsKeyArn: + description: 'ARN of the CMK that should be used for the + AWS KMS encryption. This argument should only be used + if the key is different from the default KMS-managed DynamoDB + key, alias/aws/dynamodb. Note: This attribute will not + be populated with the ARN of default keys.' + type: string + type: object + type: array + streamArn: + description: ARN of the Table Stream. Only available when stream_enabled + = true + type: string + streamEnabled: + description: Whether Streams are enabled. + type: boolean + streamLabel: + description: Timestamp, in ISO 8601 format, for this stream. Note + that this timestamp is not a unique identifier for the stream + on its own. However, the combination of AWS customer ID, table + name and this field is guaranteed to be unique. It can be used + for creating CloudWatch Alarms. Only available when stream_enabled + = true. + type: string + streamViewType: + description: When an item in the table is modified, StreamViewType + determines what information is written to the table's stream. + Valid values are KEYS_ONLY, NEW_IMAGE, OLD_IMAGE, NEW_AND_OLD_IMAGES. + type: string + tableClass: + description: Storage class of the table. Valid values are STANDARD + and STANDARD_INFREQUENT_ACCESS. Default value is STANDARD. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to populate on the created table. If + configured with a provider default_tags configuration block + present, tags with matching keys will overwrite those defined + at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: Map of tags assigned to the resource, including those + inherited from the provider default_tags configuration block. + type: object + ttl: + description: Configuration block for TTL. See below. + items: + properties: + attributeName: + description: Name of the table attribute to store the TTL + timestamp in. + type: string + enabled: + description: Whether TTL is enabled. + type: boolean + type: object + type: array + writeCapacity: + description: Number of write units for this table. If the billing_mode + is PROVISIONED, this field is required. + type: number + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tags.yaml b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tags.yaml new file mode 100644 index 000000000..757f16bef --- /dev/null +++ b/charts/kubedb-provider-aws/crds/dynamodb.aws.kubedb.com_tags.yaml @@ -0,0 +1,339 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: tags.dynamodb.aws.kubedb.com +spec: + group: dynamodb.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: Tag + listKind: TagList + plural: tags + singular: tag + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Tag is the Schema for the Tags API. Manages an individual DynamoDB + resource tag + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: TagSpec defines the desired state of Tag + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + key: + description: Tag name. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + resourceArn: + description: Amazon Resource Name (ARN) of the DynamoDB resource + to tag. + type: string + value: + description: Tag value. + type: string + required: + - key + - resourceArn + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + - message: value is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.value) + status: + description: TagStatus defines the observed state of Tag. + properties: + atProvider: + properties: + id: + description: DynamoDB resource identifier and key, separated by + a comma (,) + type: string + key: + description: Tag name. + type: string + resourceArn: + description: Amazon Resource Name (ARN) of the DynamoDB resource + to tag. + type: string + value: + description: Tag value. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_routes.yaml b/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_routes.yaml new file mode 100644 index 000000000..14c46b47b --- /dev/null +++ b/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_routes.yaml @@ -0,0 +1,421 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: routes.ec2.aws.kubedb.com +spec: + group: ec2.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: Route + listKind: RouteList + plural: routes + singular: route + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Route is the Schema for the Routes API. Provides a resource to + create a routing entry in a VPC routing table. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: RouteSpec defines the desired state of Route + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + carrierGatewayId: + description: Identifier of a carrier gateway. This attribute can + only be used when the VPC contains a subnet which is associated + with a Wavelength Zone. + type: string + coreNetworkArn: + description: The Amazon Resource Name (ARN) of a core network. + type: string + destinationCidrBlock: + description: The destination CIDR block. + type: string + destinationIpv6CidrBlock: + description: The destination IPv6 CIDR block. + type: string + destinationPrefixListId: + description: The ID of a managed prefix list destination. + type: string + egressOnlyGatewayId: + description: Identifier of a VPC Egress Only Internet Gateway. + type: string + gatewayId: + description: Identifier of a VPC internet gateway or a virtual + private gateway. Specify local when updating a previously imported + local route. + type: string + localGatewayId: + description: Identifier of a Outpost local gateway. + type: string + natGatewayId: + description: Identifier of a VPC NAT gateway. + type: string + networkInterfaceId: + description: Identifier of an EC2 network interface. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + routeTableId: + description: The ID of the routing table. + type: string + transitGatewayId: + description: Identifier of an EC2 Transit Gateway. + type: string + vpcEndpointId: + description: Identifier of a VPC Endpoint. + type: string + vpcPeeringConnectionId: + description: Identifier of a VPC peering connection. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + - message: routeTableId is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.routeTableId) + status: + description: RouteStatus defines the observed state of Route. + properties: + atProvider: + properties: + carrierGatewayId: + description: Identifier of a carrier gateway. This attribute can + only be used when the VPC contains a subnet which is associated + with a Wavelength Zone. + type: string + coreNetworkArn: + description: The Amazon Resource Name (ARN) of a core network. + type: string + destinationCidrBlock: + description: The destination CIDR block. + type: string + destinationIpv6CidrBlock: + description: The destination IPv6 CIDR block. + type: string + destinationPrefixListId: + description: The ID of a managed prefix list destination. + type: string + egressOnlyGatewayId: + description: Identifier of a VPC Egress Only Internet Gateway. + type: string + gatewayId: + description: Identifier of a VPC internet gateway or a virtual + private gateway. Specify local when updating a previously imported + local route. + type: string + id: + description: Route identifier computed from the routing table + identifier and route destination. + type: string + instanceId: + description: Identifier of an EC2 instance. + type: string + instanceOwnerId: + description: The AWS account ID of the owner of the EC2 instance. + type: string + localGatewayId: + description: Identifier of a Outpost local gateway. + type: string + natGatewayId: + description: Identifier of a VPC NAT gateway. + type: string + networkInterfaceId: + description: Identifier of an EC2 network interface. + type: string + origin: + description: How the route was created - CreateRouteTable, CreateRoute + or EnableVgwRoutePropagation. + type: string + routeTableId: + description: The ID of the routing table. + type: string + state: + description: The state of the route - active or blackhole. + type: string + transitGatewayId: + description: Identifier of an EC2 Transit Gateway. + type: string + vpcEndpointId: + description: Identifier of a VPC Endpoint. + type: string + vpcPeeringConnectionId: + description: Identifier of a VPC peering connection. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_securitygrouprules.yaml b/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_securitygrouprules.yaml new file mode 100644 index 000000000..2d3b32fee --- /dev/null +++ b/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_securitygrouprules.yaml @@ -0,0 +1,424 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: securitygrouprules.ec2.aws.kubedb.com +spec: + group: ec2.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: SecurityGroupRule + listKind: SecurityGroupRuleList + plural: securitygrouprules + singular: securitygrouprule + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: SecurityGroupRule is the Schema for the SecurityGroupRules API. + Provides an security group rule resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SecurityGroupRuleSpec defines the desired state of SecurityGroupRule + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + cidrBlocks: + description: List of CIDR blocks. Cannot be specified with source_security_group_id + or self. + items: + type: string + type: array + description: + description: Description of the rule. + type: string + fromPort: + description: Start port (or ICMP type number if protocol is "icmp" + or "icmpv6"). + type: number + ipv6CidrBlocks: + description: List of IPv6 CIDR blocks. Cannot be specified with + source_security_group_id or self. + items: + type: string + type: array + prefixListIds: + description: List of Prefix List IDs. + items: + type: string + type: array + protocol: + description: Protocol. If not icmp, icmpv6, tcp, udp, or all use + the protocol number + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + securityGroupId: + description: Security group to apply this rule to. + type: string + self: + description: Whether the security group itself will be added as + a source to this ingress rule. Cannot be specified with cidr_blocks, + ipv6_cidr_blocks, or source_security_group_id. + type: boolean + sourceSecurityGroupId: + description: Security group id to allow access to/from, depending + on the type. Cannot be specified with cidr_blocks, ipv6_cidr_blocks, + or self. + type: string + toPort: + description: End port (or ICMP code if protocol is "icmp"). + type: number + type: + description: Type of rule being created. Valid options are ingress + (inbound) or egress (outbound). + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: fromPort is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.fromPort) + - message: protocol is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.protocol) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + - message: securityGroupId is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.securityGroupId) + - message: toPort is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.toPort) + - message: type is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.type) + status: + description: SecurityGroupRuleStatus defines the observed state of SecurityGroupRule. + properties: + atProvider: + properties: + cidrBlocks: + description: List of CIDR blocks. Cannot be specified with source_security_group_id + or self. + items: + type: string + type: array + description: + description: Description of the rule. + type: string + fromPort: + description: Start port (or ICMP type number if protocol is "icmp" + or "icmpv6"). + type: number + id: + description: ID of the security group rule. + type: string + ipv6CidrBlocks: + description: List of IPv6 CIDR blocks. Cannot be specified with + source_security_group_id or self. + items: + type: string + type: array + prefixListIds: + description: List of Prefix List IDs. + items: + type: string + type: array + protocol: + description: Protocol. If not icmp, icmpv6, tcp, udp, or all use + the protocol number + type: string + securityGroupId: + description: Security group to apply this rule to. + type: string + securityGroupRuleId: + description: If the aws_security_group_rule resource has a single + source or destination then this is the AWS Security Group Rule + resource ID. Otherwise it is empty. + type: string + self: + description: Whether the security group itself will be added as + a source to this ingress rule. Cannot be specified with cidr_blocks, + ipv6_cidr_blocks, or source_security_group_id. + type: boolean + sourceSecurityGroupId: + description: Security group id to allow access to/from, depending + on the type. Cannot be specified with cidr_blocks, ipv6_cidr_blocks, + or self. + type: string + toPort: + description: End port (or ICMP code if protocol is "icmp"). + type: number + type: + description: Type of rule being created. Valid options are ingress + (inbound) or egress (outbound). + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_vpcpeeringconnections.yaml b/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_vpcpeeringconnections.yaml new file mode 100644 index 000000000..df8711ab7 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/ec2.aws.kubedb.com_vpcpeeringconnections.yaml @@ -0,0 +1,443 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: vpcpeeringconnections.ec2.aws.kubedb.com +spec: + group: ec2.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: VPCPeeringConnection + listKind: VPCPeeringConnectionList + plural: vpcpeeringconnections + singular: vpcpeeringconnection + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: VPCPeeringConnection is the Schema for the VPCPeeringConnections + API. Provides a resource to manage a VPC peering connection. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: VPCPeeringConnectionSpec defines the desired state of VPCPeeringConnection + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + accepter: + description: An optional configuration block that allows for VPC + Peering Connection options to be set for the VPC that accepts + the peering connection (a maximum of one). + items: + properties: + allowRemoteVpcDnsResolution: + description: Allow a local VPC to resolve public DNS hostnames + to private IP addresses when queried from instances in + the peer VPC. + type: boolean + type: object + type: array + autoAccept: + description: Accept the peering (both VPCs need to be in the same + AWS account and region). + type: boolean + peerOwnerId: + description: The AWS account ID of the owner of the peer VPC. + Defaults to the account ID the AWS provider is currently connected + to. + type: string + peerRegion: + description: The region of the accepter VPC of the VPC Peering + Connection. auto_accept must be false, and use the aws_vpc_peering_connection_accepter + to manage the accepter side. + type: string + peerVpcId: + description: The ID of the VPC with which you are creating the + VPC Peering Connection. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + requester: + description: A optional configuration block that allows for VPC + Peering Connection options to be set for the VPC that requests + the peering connection (a maximum of one). + items: + properties: + allowRemoteVpcDnsResolution: + description: Allow a local VPC to resolve public DNS hostnames + to private IP addresses when queried from instances in + the peer VPC. + type: boolean + type: object + type: array + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + vpcId: + description: The ID of the requester VPC. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: peerVpcId is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.peerVpcId) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + - message: vpcId is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.vpcId) + status: + description: VPCPeeringConnectionStatus defines the observed state of + VPCPeeringConnection. + properties: + atProvider: + properties: + acceptStatus: + description: The status of the VPC Peering Connection request. + type: string + accepter: + description: An optional configuration block that allows for VPC + Peering Connection options to be set for the VPC that accepts + the peering connection (a maximum of one). + items: + properties: + allowRemoteVpcDnsResolution: + description: Allow a local VPC to resolve public DNS hostnames + to private IP addresses when queried from instances in + the peer VPC. + type: boolean + type: object + type: array + autoAccept: + description: Accept the peering (both VPCs need to be in the same + AWS account and region). + type: boolean + id: + description: The ID of the VPC Peering Connection. + type: string + peerOwnerId: + description: The AWS account ID of the owner of the peer VPC. + Defaults to the account ID the AWS provider is currently connected + to. + type: string + peerRegion: + description: The region of the accepter VPC of the VPC Peering + Connection. auto_accept must be false, and use the aws_vpc_peering_connection_accepter + to manage the accepter side. + type: string + peerVpcId: + description: The ID of the VPC with which you are creating the + VPC Peering Connection. + type: string + requester: + description: A optional configuration block that allows for VPC + Peering Connection options to be set for the VPC that requests + the peering connection (a maximum of one). + items: + properties: + allowRemoteVpcDnsResolution: + description: Allow a local VPC to resolve public DNS hostnames + to private IP addresses when queried from instances in + the peer VPC. + type: boolean + type: object + type: array + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + vpcId: + description: The ID of the requester VPC. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_clusters.yaml b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_clusters.yaml new file mode 100644 index 000000000..febd080d0 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_clusters.yaml @@ -0,0 +1,793 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: clusters.elasticache.aws.kubedb.com +spec: + group: elasticache.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: Cluster + listKind: ClusterList + plural: clusters + singular: cluster + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Cluster is the Schema for the Clusters API. Provides an ElastiCache + Cluster resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ClusterSpec defines the desired state of Cluster + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + applyImmediately: + description: Whether any database modifications are applied immediately, + or during the next maintenance window. Default is false. See + Amazon ElastiCache Documentation for more information.. + type: boolean + autoMinorVersionUpgrade: + description: Specifies whether minor version engine upgrades will + be applied automatically to the underlying Cache Cluster instances + during the maintenance window. Only supported for engine type + "redis" and if the engine version is 6 or higher. Defaults to + true. + type: string + availabilityZone: + description: 'Availability Zone for the cache cluster. If you + want to create cache nodes in multi-az, use preferred_availability_zones + instead. Default: System chosen Availability Zone. Changing + this value will re-create the resource.' + type: string + azMode: + description: Whether the nodes in this Memcached node group are + created in a single Availability Zone or created across multiple + Availability Zones in the cluster's region. Valid values for + this parameter are single-az or cross-az, default is single-az. + If you want to choose cross-az, num_cache_nodes must be greater + than 1. + type: string + engine: + description: – Name of the cache engine to be used for this cache + cluster. Valid values are memcached or redis. + type: string + engineVersion: + description: – Version number of the cache engine to be used. + If not set, defaults to the latest version. See Describe Cache + Engine Versions in the AWS Documentation for supported versions. + When engine is redis and the version is 6 or higher, the major + and minor version can be set, e.g., 6.2, or the minor version + can be unspecified which will use the latest version at creation + time, e.g., 6.x. Otherwise, specify the full version desired, + e.g., 5.0.6. The actual engine version used is returned in the + attribute engine_version_actual, see Attributes Reference below. + type: string + finalSnapshotIdentifier: + description: Name of your final cluster snapshot. If omitted, + no final snapshot will be made. + type: string + ipDiscovery: + description: The IP version to advertise in the discovery protocol. + Valid values are ipv4 or ipv6. + type: string + logDeliveryConfiguration: + description: Specifies the destination and format of Redis SLOWLOG + or Redis Engine Log. See the documentation on Amazon ElastiCache. + See Log Delivery Configuration below for more details. + items: + properties: + destination: + description: Name of either the CloudWatch Logs LogGroup + or Kinesis Data Firehose resource. + type: string + destinationType: + description: For CloudWatch Logs use cloudwatch-logs or + for Kinesis Data Firehose use kinesis-firehose. + type: string + logFormat: + description: Valid values are json or text + type: string + logType: + description: Valid values are slow-log or engine-log. Max + 1 of each. + type: string + required: + - destination + - destinationType + - logFormat + - logType + type: object + type: array + maintenanceWindow: + description: 'ddd:hh24:mi (24H Clock UTC). The minimum maintenance + window is a 60 minute period. Example: sun:05:00-sun:09:00.' + type: string + networkType: + description: The IP versions for cache cluster connections. IPv6 + is supported with Redis engine 6.2 onword or Memcached version + 1.6.6 for all Nitro system instances. Valid values are ipv4, + ipv6 or dual_stack. + type: string + nodeType: + description: create the resource. + type: string + notificationTopicArn: + description: east-1:012345678999:my_sns_topic. + type: string + numCacheNodes: + description: – The initial number of cache nodes that the cache + cluster will have. For Redis, this value must be 1. For Memcached, + this value must be between 1 and 40. If this number is reduced + on subsequent runs, the highest numbered nodes will be removed. + type: number + outpostMode: + description: Specify the outpost mode that will apply to the cache + cluster creation. Valid values are "single-outpost" and "cross-outpost", + however AWS currently only supports "single-outpost" mode. + type: string + parameterGroupName: + description: – The name of the parameter group to associate with + this cache cluster. + type: string + parameterGroupNameRef: + description: Reference to a ParameterGroup in elasticache to populate + parameterGroupName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + parameterGroupNameSelector: + description: Selector for a ParameterGroup in elasticache to populate + parameterGroupName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + port: + description: create the resource. + type: number + preferredAvailabilityZones: + description: 'List of the Availability Zones in which cache nodes + are created. If you are creating your cluster in an Amazon VPC + you can only locate nodes in Availability Zones that are associated + with the subnets in the selected subnet group. The number of + Availability Zones listed must equal the value of num_cache_nodes. + If you want all the nodes in the same Availability Zone, use + availability_zone instead, or repeat the Availability Zone multiple + times in the list. Default: System chosen Availability Zones. + Detecting drift of existing node availability zone is not currently + supported. Updating this argument by itself to migrate existing + node availability zones is not currently supported and will + show a perpetual difference.' + items: + type: string + type: array + preferredOutpostArn: + description: The outpost ARN in which the cache cluster will be + created. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + replicationGroupId: + description: ID of the replication group to which this cluster + should belong. If this parameter is specified, the cluster is + added to the specified replication group as a read replica; + otherwise, the cluster is a standalone primary that is not part + of any replication group. + type: string + securityGroupIds: + description: – One or more VPC security groups associated with + the cache cluster + items: + type: string + type: array + snapshotArns: + description: element string list containing an Amazon Resource + Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. + The object name cannot contain any commas. Changing snapshot_arns + forces a new resource. + items: + type: string + type: array + snapshotName: + description: Name of a snapshot from which to restore data into + the new node group. Changing snapshot_name forces a new resource. + type: string + snapshotRetentionLimit: + description: Number of days for which ElastiCache will retain + automatic cache cluster snapshots before deleting them. For + example, if you set SnapshotRetentionLimit to 5, then a snapshot + that was taken today will be retained for 5 days before being + deleted. If the value of SnapshotRetentionLimit is set to zero + (0), backups are turned off. Please note that setting a snapshot_retention_limit + is not supported on cache.t1.micro cache nodes + type: number + snapshotWindow: + description: 'Daily time range (in UTC) during which ElastiCache + will begin taking a daily snapshot of your cache cluster. Example: + 05:00-09:00' + type: string + subnetGroupName: + description: create the resource. + type: string + tags: + additionalProperties: + type: string + description: Map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: Map of tags assigned to the resource, including those + inherited from the provider default_tags configuration block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: ClusterStatus defines the observed state of Cluster. + properties: + atProvider: + properties: + applyImmediately: + description: Whether any database modifications are applied immediately, + or during the next maintenance window. Default is false. See + Amazon ElastiCache Documentation for more information.. + type: boolean + arn: + description: The ARN of the created ElastiCache Cluster. + type: string + autoMinorVersionUpgrade: + description: Specifies whether minor version engine upgrades will + be applied automatically to the underlying Cache Cluster instances + during the maintenance window. Only supported for engine type + "redis" and if the engine version is 6 or higher. Defaults to + true. + type: string + availabilityZone: + description: 'Availability Zone for the cache cluster. If you + want to create cache nodes in multi-az, use preferred_availability_zones + instead. Default: System chosen Availability Zone. Changing + this value will re-create the resource.' + type: string + azMode: + description: Whether the nodes in this Memcached node group are + created in a single Availability Zone or created across multiple + Availability Zones in the cluster's region. Valid values for + this parameter are single-az or cross-az, default is single-az. + If you want to choose cross-az, num_cache_nodes must be greater + than 1. + type: string + cacheNodes: + description: List of node objects including id, address, port + and availability_zone. + items: + properties: + address: + type: string + availabilityZone: + description: 'Availability Zone for the cache cluster. If + you want to create cache nodes in multi-az, use preferred_availability_zones + instead. Default: System chosen Availability Zone. Changing + this value will re-create the resource.' + type: string + id: + type: string + outpostArn: + description: The ARN of the created ElastiCache Cluster. + type: string + port: + description: create the resource. + type: number + type: object + type: array + clusterAddress: + description: (Memcached only) DNS name of the cache cluster without + the port appended. + type: string + configurationEndpoint: + description: (Memcached only) Configuration endpoint to allow + host discovery. + type: string + engine: + description: – Name of the cache engine to be used for this cache + cluster. Valid values are memcached or redis. + type: string + engineVersion: + description: – Version number of the cache engine to be used. + If not set, defaults to the latest version. See Describe Cache + Engine Versions in the AWS Documentation for supported versions. + When engine is redis and the version is 6 or higher, the major + and minor version can be set, e.g., 6.2, or the minor version + can be unspecified which will use the latest version at creation + time, e.g., 6.x. Otherwise, specify the full version desired, + e.g., 5.0.6. The actual engine version used is returned in the + attribute engine_version_actual, see Attributes Reference below. + type: string + engineVersionActual: + description: Because ElastiCache pulls the latest minor or patch + for a version, this attribute returns the running version of + the cache engine. + type: string + finalSnapshotIdentifier: + description: Name of your final cluster snapshot. If omitted, + no final snapshot will be made. + type: string + id: + type: string + ipDiscovery: + description: The IP version to advertise in the discovery protocol. + Valid values are ipv4 or ipv6. + type: string + logDeliveryConfiguration: + description: Specifies the destination and format of Redis SLOWLOG + or Redis Engine Log. See the documentation on Amazon ElastiCache. + See Log Delivery Configuration below for more details. + items: + properties: + destination: + description: Name of either the CloudWatch Logs LogGroup + or Kinesis Data Firehose resource. + type: string + destinationType: + description: For CloudWatch Logs use cloudwatch-logs or + for Kinesis Data Firehose use kinesis-firehose. + type: string + logFormat: + description: Valid values are json or text + type: string + logType: + description: Valid values are slow-log or engine-log. Max + 1 of each. + type: string + type: object + type: array + maintenanceWindow: + description: 'ddd:hh24:mi (24H Clock UTC). The minimum maintenance + window is a 60 minute period. Example: sun:05:00-sun:09:00.' + type: string + networkType: + description: The IP versions for cache cluster connections. IPv6 + is supported with Redis engine 6.2 onword or Memcached version + 1.6.6 for all Nitro system instances. Valid values are ipv4, + ipv6 or dual_stack. + type: string + nodeType: + description: create the resource. + type: string + notificationTopicArn: + description: east-1:012345678999:my_sns_topic. + type: string + numCacheNodes: + description: – The initial number of cache nodes that the cache + cluster will have. For Redis, this value must be 1. For Memcached, + this value must be between 1 and 40. If this number is reduced + on subsequent runs, the highest numbered nodes will be removed. + type: number + outpostMode: + description: Specify the outpost mode that will apply to the cache + cluster creation. Valid values are "single-outpost" and "cross-outpost", + however AWS currently only supports "single-outpost" mode. + type: string + parameterGroupName: + description: – The name of the parameter group to associate with + this cache cluster. + type: string + port: + description: create the resource. + type: number + preferredAvailabilityZones: + description: 'List of the Availability Zones in which cache nodes + are created. If you are creating your cluster in an Amazon VPC + you can only locate nodes in Availability Zones that are associated + with the subnets in the selected subnet group. The number of + Availability Zones listed must equal the value of num_cache_nodes. + If you want all the nodes in the same Availability Zone, use + availability_zone instead, or repeat the Availability Zone multiple + times in the list. Default: System chosen Availability Zones. + Detecting drift of existing node availability zone is not currently + supported. Updating this argument by itself to migrate existing + node availability zones is not currently supported and will + show a perpetual difference.' + items: + type: string + type: array + preferredOutpostArn: + description: The outpost ARN in which the cache cluster will be + created. + type: string + replicationGroupId: + description: ID of the replication group to which this cluster + should belong. If this parameter is specified, the cluster is + added to the specified replication group as a read replica; + otherwise, the cluster is a standalone primary that is not part + of any replication group. + type: string + securityGroupIds: + description: – One or more VPC security groups associated with + the cache cluster + items: + type: string + type: array + snapshotArns: + description: element string list containing an Amazon Resource + Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. + The object name cannot contain any commas. Changing snapshot_arns + forces a new resource. + items: + type: string + type: array + snapshotName: + description: Name of a snapshot from which to restore data into + the new node group. Changing snapshot_name forces a new resource. + type: string + snapshotRetentionLimit: + description: Number of days for which ElastiCache will retain + automatic cache cluster snapshots before deleting them. For + example, if you set SnapshotRetentionLimit to 5, then a snapshot + that was taken today will be retained for 5 days before being + deleted. If the value of SnapshotRetentionLimit is set to zero + (0), backups are turned off. Please note that setting a snapshot_retention_limit + is not supported on cache.t1.micro cache nodes + type: number + snapshotWindow: + description: 'Daily time range (in UTC) during which ElastiCache + will begin taking a daily snapshot of your cache cluster. Example: + 05:00-09:00' + type: string + subnetGroupName: + description: create the resource. + type: string + tags: + additionalProperties: + type: string + description: Map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: Map of tags assigned to the resource, including those + inherited from the provider default_tags configuration block. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_parametergroups.yaml b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_parametergroups.yaml new file mode 100644 index 000000000..7f0e7f8e1 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_parametergroups.yaml @@ -0,0 +1,393 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: parametergroups.elasticache.aws.kubedb.com +spec: + group: elasticache.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: ParameterGroup + listKind: ParameterGroupList + plural: parametergroups + singular: parametergroup + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ParameterGroup is the Schema for the ParameterGroups API. Provides + an ElastiCache parameter group resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ParameterGroupSpec defines the desired state of ParameterGroup + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: The description of the ElastiCache parameter group. + type: string + family: + description: The family of the ElastiCache parameter group. + type: string + name: + description: The name of the ElastiCache parameter group. + type: string + parameter: + description: A list of ElastiCache parameters to apply. + items: + properties: + name: + description: The name of the ElastiCache parameter group. + type: string + value: + description: The value of the ElastiCache parameter. + type: string + required: + - name + - value + type: object + type: array + region: + description: Region is the region you'd like your resource to + be created in. + type: string + tags: + additionalProperties: + type: string + description: Key-value mapping of resource tags. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: family is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.family) + - message: name is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: ParameterGroupStatus defines the observed state of ParameterGroup. + properties: + atProvider: + properties: + arn: + description: The AWS ARN associated with the parameter group. + type: string + description: + description: The description of the ElastiCache parameter group. + type: string + family: + description: The family of the ElastiCache parameter group. + type: string + id: + description: The ElastiCache parameter group name. + type: string + name: + description: The name of the ElastiCache parameter group. + type: string + parameter: + description: A list of ElastiCache parameters to apply. + items: + properties: + name: + description: The name of the ElastiCache parameter group. + type: string + value: + description: The value of the ElastiCache parameter. + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: Key-value mapping of resource tags. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_replicationgroups.yaml b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_replicationgroups.yaml new file mode 100644 index 000000000..58bfcb2c4 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_replicationgroups.yaml @@ -0,0 +1,929 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: replicationgroups.elasticache.aws.kubedb.com +spec: + group: elasticache.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: ReplicationGroup + listKind: ReplicationGroupList + plural: replicationgroups + singular: replicationgroup + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ReplicationGroup is the Schema for the ReplicationGroups API. + Provides an ElastiCache Replication Group resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ReplicationGroupSpec defines the desired state of ReplicationGroup + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + applyImmediately: + description: Specifies whether any modifications are applied immediately, + or during the next maintenance window. Default is false. + type: boolean + atRestEncryptionEnabled: + description: Whether to enable encryption at rest. + type: boolean + authTokenSecretRef: + description: Password used to access a password protected server. + Can be specified only if transit_encryption_enabled = true. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + autoMinorVersionUpgrade: + description: Specifies whether minor version engine upgrades will + be applied automatically to the underlying Cache Cluster instances + during the maintenance window. Only supported for engine type + "redis" and if the engine version is 6 or higher. Defaults to + true. + type: string + automaticFailoverEnabled: + description: Specifies whether a read-only replica will be automatically + promoted to read/write primary if the existing primary fails. + If enabled, num_cache_clusters must be greater than 1. Must + be enabled for Redis (cluster mode enabled) replication groups. + Defaults to false. + type: boolean + dataTieringEnabled: + description: Enables data tiering. Data tiering is only supported + for replication groups using the r6gd node type. This parameter + must be set to true when using r6gd nodes. + type: boolean + description: + description: created description for the replication group. Must + not be empty. + type: string + engine: + description: Name of the cache engine to be used for the clusters + in this replication group. The only valid value is redis. + type: string + engineVersion: + description: Version number of the cache engine to be used for + the cache clusters in this replication group. If the version + is 6 or higher, the major and minor version can be set, e.g., + 6.2, or the minor version can be unspecified which will use + the latest version at creation time, e.g., 6.x. Otherwise, specify + the full version desired, e.g., 5.0.6. The actual engine version + used is returned in the attribute engine_version_actual, see + Attributes Reference below. + type: string + finalSnapshotIdentifier: + description: The name of your final node group (shard) snapshot. + ElastiCache creates the snapshot from the primary node in the + cluster. If omitted, no final snapshot will be made. + type: string + globalReplicationGroupId: + description: The ID of the global replication group to which this + replication group should belong. If this parameter is specified, + the replication group is added to the specified global replication + group as a secondary replication group; otherwise, the replication + group is not part of any global replication group. If global_replication_group_id + is set, the num_node_groups parameter cannot be set. + type: string + kmsKeyId: + description: The ARN of the key that you wish to use if encrypting + at rest. If not supplied, uses service managed encryption. Can + be specified only if at_rest_encryption_enabled = true. + type: string + kmsKeyIdRef: + description: Reference to a Key in kms to populate kmsKeyId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + kmsKeyIdSelector: + description: Selector for a Key in kms to populate kmsKeyId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + logDeliveryConfiguration: + description: Specifies the destination and format of Redis SLOWLOG + or Redis Engine Log. See the documentation on Amazon ElastiCache. + See Log Delivery Configuration below for more details. + items: + properties: + destination: + description: Name of either the CloudWatch Logs LogGroup + or Kinesis Data Firehose resource. + type: string + destinationType: + description: For CloudWatch Logs use cloudwatch-logs or + for Kinesis Data Firehose use kinesis-firehose. + type: string + logFormat: + description: Valid values are json or text + type: string + logType: + description: Valid values are slow-log or engine-log. Max + 1 of each. + type: string + required: + - destination + - destinationType + - logFormat + - logType + type: object + type: array + maintenanceWindow: + description: 'ddd:hh24:mi (24H Clock UTC). The minimum maintenance + window is a 60 minute period. Example: sun:05:00-sun:09:00' + type: string + multiAzEnabled: + description: Specifies whether to enable Multi-AZ Support for + the replication group. If true, automatic_failover_enabled must + also be enabled. Defaults to false. + type: boolean + nodeType: + description: Instance class to be used. See AWS documentation + for information on supported node types and guidance on selecting + node types. Required unless global_replication_group_id is set. + Cannot be set if global_replication_group_id is set. + type: string + notificationTopicArn: + description: east-1:012345678999:my_sns_topic + type: string + numCacheClusters: + description: 00#. + type: number + numNodeGroups: + description: Number of node groups (shards) for this Redis replication + group. Changing this number will trigger a resizing operation + before other settings modifications. + type: number + parameterGroupName: + description: Name of the parameter group to associate with this + replication group. If this argument is omitted, the default + cache parameter group for the specified engine is used. To enable + "cluster mode", i.e., data sharding, use a parameter group that + has the parameter cluster-enabled set to true. + type: string + port: + description: – Port number on which each of the cache nodes will + accept connections. For Memcache the default is 11211, and for + Redis the default port is 6379. + type: number + preferredCacheClusterAzs: + description: List of EC2 availability zones in which the replication + group's cache clusters will be created. The order of the availability + zones in the list is considered. The first item in the list + will be the primary node. Ignored when updating. + items: + type: string + type: array + region: + description: Region is the region you'd like your resource to + be created in. + type: string + replicasPerNodeGroup: + description: Number of replica nodes in each node group. Changing + this number will trigger a resizing operation before other settings + modifications. Valid values are 0 to 5. + type: number + securityGroupIds: + description: One or more Amazon VPC security groups associated + with this replication group. Use this parameter only when you + are creating a replication group in an Amazon Virtual Private + Cloud + items: + type: string + type: array + securityGroupNames: + description: List of cache security group names to associate with + this replication group. + items: + type: string + type: array + snapshotArns: + description: – List of ARNs that identify Redis RDB snapshot + files stored in Amazon S3. The names object names cannot contain + any commas. + items: + type: string + type: array + snapshotName: + description: Name of a snapshot from which to restore data into + the new node group. Changing the snapshot_name forces a new + resource. + type: string + snapshotRetentionLimit: + description: Number of days for which ElastiCache will retain + automatic cache cluster snapshots before deleting them. For + example, if you set SnapshotRetentionLimit to 5, then a snapshot + that was taken today will be retained for 5 days before being + deleted. If the value of snapshot_retention_limit is set to + zero (0), backups are turned off. Please note that setting a + snapshot_retention_limit is not supported on cache.t1.micro + cache nodes + type: number + snapshotWindow: + description: 'Daily time range (in UTC) during which ElastiCache + will begin taking a daily snapshot of your cache cluster. The + minimum snapshot window is a 60 minute period. Example: 05:00-09:00' + type: string + subnetGroupName: + description: Name of the cache subnet group to be used for the + replication group. + type: string + subnetGroupNameRef: + description: Reference to a SubnetGroup to populate subnetGroupName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + subnetGroupNameSelector: + description: Selector for a SubnetGroup to populate subnetGroupName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + tags: + additionalProperties: + type: string + description: Map of tags to assign to the resource. Adding tags + to this resource will add or overwrite any existing tags on + the clusters in the replication group and not to the group itself. + If configured with a provider default_tags configuration block + present, tags with matching keys will overwrite those defined + at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: Map of tags assigned to the resource, including those + inherited from the provider default_tags configuration block. + type: object + transitEncryptionEnabled: + description: Whether to enable encryption in transit. + type: boolean + userGroupIds: + description: 'User Group ID to associate with the replication + group. Only a maximum of one (1) user group ID is valid. NOTE: + This argument is a set because the AWS specification allows + for multiple IDs. However, in practice, AWS only allows a maximum + size of one.' + items: + type: string + type: array + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: ReplicationGroupStatus defines the observed state of ReplicationGroup. + properties: + atProvider: + properties: + applyImmediately: + description: Specifies whether any modifications are applied immediately, + or during the next maintenance window. Default is false. + type: boolean + arn: + description: ARN of the created ElastiCache Replication Group. + type: string + atRestEncryptionEnabled: + description: Whether to enable encryption at rest. + type: boolean + autoMinorVersionUpgrade: + description: Specifies whether minor version engine upgrades will + be applied automatically to the underlying Cache Cluster instances + during the maintenance window. Only supported for engine type + "redis" and if the engine version is 6 or higher. Defaults to + true. + type: string + automaticFailoverEnabled: + description: Specifies whether a read-only replica will be automatically + promoted to read/write primary if the existing primary fails. + If enabled, num_cache_clusters must be greater than 1. Must + be enabled for Redis (cluster mode enabled) replication groups. + Defaults to false. + type: boolean + clusterEnabled: + description: Indicates if cluster mode is enabled. + type: boolean + configurationEndpointAddress: + description: Address of the replication group configuration endpoint + when cluster mode is enabled. + type: string + dataTieringEnabled: + description: Enables data tiering. Data tiering is only supported + for replication groups using the r6gd node type. This parameter + must be set to true when using r6gd nodes. + type: boolean + description: + description: created description for the replication group. Must + not be empty. + type: string + engine: + description: Name of the cache engine to be used for the clusters + in this replication group. The only valid value is redis. + type: string + engineVersion: + description: Version number of the cache engine to be used for + the cache clusters in this replication group. If the version + is 6 or higher, the major and minor version can be set, e.g., + 6.2, or the minor version can be unspecified which will use + the latest version at creation time, e.g., 6.x. Otherwise, specify + the full version desired, e.g., 5.0.6. The actual engine version + used is returned in the attribute engine_version_actual, see + Attributes Reference below. + type: string + engineVersionActual: + description: Because ElastiCache pulls the latest minor or patch + for a version, this attribute returns the running version of + the cache engine. + type: string + finalSnapshotIdentifier: + description: The name of your final node group (shard) snapshot. + ElastiCache creates the snapshot from the primary node in the + cluster. If omitted, no final snapshot will be made. + type: string + globalReplicationGroupId: + description: The ID of the global replication group to which this + replication group should belong. If this parameter is specified, + the replication group is added to the specified global replication + group as a secondary replication group; otherwise, the replication + group is not part of any global replication group. If global_replication_group_id + is set, the num_node_groups parameter cannot be set. + type: string + id: + description: ID of the ElastiCache Replication Group. + type: string + kmsKeyId: + description: The ARN of the key that you wish to use if encrypting + at rest. If not supplied, uses service managed encryption. Can + be specified only if at_rest_encryption_enabled = true. + type: string + logDeliveryConfiguration: + description: Specifies the destination and format of Redis SLOWLOG + or Redis Engine Log. See the documentation on Amazon ElastiCache. + See Log Delivery Configuration below for more details. + items: + properties: + destination: + description: Name of either the CloudWatch Logs LogGroup + or Kinesis Data Firehose resource. + type: string + destinationType: + description: For CloudWatch Logs use cloudwatch-logs or + for Kinesis Data Firehose use kinesis-firehose. + type: string + logFormat: + description: Valid values are json or text + type: string + logType: + description: Valid values are slow-log or engine-log. Max + 1 of each. + type: string + type: object + type: array + maintenanceWindow: + description: 'ddd:hh24:mi (24H Clock UTC). The minimum maintenance + window is a 60 minute period. Example: sun:05:00-sun:09:00' + type: string + memberClusters: + description: Identifiers of all the nodes that are part of this + replication group. + items: + type: string + type: array + multiAzEnabled: + description: Specifies whether to enable Multi-AZ Support for + the replication group. If true, automatic_failover_enabled must + also be enabled. Defaults to false. + type: boolean + nodeType: + description: Instance class to be used. See AWS documentation + for information on supported node types and guidance on selecting + node types. Required unless global_replication_group_id is set. + Cannot be set if global_replication_group_id is set. + type: string + notificationTopicArn: + description: east-1:012345678999:my_sns_topic + type: string + numCacheClusters: + description: 00#. + type: number + numNodeGroups: + description: Number of node groups (shards) for this Redis replication + group. Changing this number will trigger a resizing operation + before other settings modifications. + type: number + parameterGroupName: + description: Name of the parameter group to associate with this + replication group. If this argument is omitted, the default + cache parameter group for the specified engine is used. To enable + "cluster mode", i.e., data sharding, use a parameter group that + has the parameter cluster-enabled set to true. + type: string + port: + description: – Port number on which each of the cache nodes will + accept connections. For Memcache the default is 11211, and for + Redis the default port is 6379. + type: number + preferredCacheClusterAzs: + description: List of EC2 availability zones in which the replication + group's cache clusters will be created. The order of the availability + zones in the list is considered. The first item in the list + will be the primary node. Ignored when updating. + items: + type: string + type: array + primaryEndpointAddress: + description: (Redis only) Address of the endpoint for the primary + node in the replication group, if the cluster mode is disabled. + type: string + readerEndpointAddress: + description: (Redis only) Address of the endpoint for the reader + node in the replication group, if the cluster mode is disabled. + type: string + replicasPerNodeGroup: + description: Number of replica nodes in each node group. Changing + this number will trigger a resizing operation before other settings + modifications. Valid values are 0 to 5. + type: number + securityGroupIds: + description: One or more Amazon VPC security groups associated + with this replication group. Use this parameter only when you + are creating a replication group in an Amazon Virtual Private + Cloud + items: + type: string + type: array + securityGroupNames: + description: List of cache security group names to associate with + this replication group. + items: + type: string + type: array + snapshotArns: + description: – List of ARNs that identify Redis RDB snapshot + files stored in Amazon S3. The names object names cannot contain + any commas. + items: + type: string + type: array + snapshotName: + description: Name of a snapshot from which to restore data into + the new node group. Changing the snapshot_name forces a new + resource. + type: string + snapshotRetentionLimit: + description: Number of days for which ElastiCache will retain + automatic cache cluster snapshots before deleting them. For + example, if you set SnapshotRetentionLimit to 5, then a snapshot + that was taken today will be retained for 5 days before being + deleted. If the value of snapshot_retention_limit is set to + zero (0), backups are turned off. Please note that setting a + snapshot_retention_limit is not supported on cache.t1.micro + cache nodes + type: number + snapshotWindow: + description: 'Daily time range (in UTC) during which ElastiCache + will begin taking a daily snapshot of your cache cluster. The + minimum snapshot window is a 60 minute period. Example: 05:00-09:00' + type: string + subnetGroupName: + description: Name of the cache subnet group to be used for the + replication group. + type: string + tags: + additionalProperties: + type: string + description: Map of tags to assign to the resource. Adding tags + to this resource will add or overwrite any existing tags on + the clusters in the replication group and not to the group itself. + If configured with a provider default_tags configuration block + present, tags with matching keys will overwrite those defined + at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: Map of tags assigned to the resource, including those + inherited from the provider default_tags configuration block. + type: object + transitEncryptionEnabled: + description: Whether to enable encryption in transit. + type: boolean + userGroupIds: + description: 'User Group ID to associate with the replication + group. Only a maximum of one (1) user group ID is valid. NOTE: + This argument is a set because the AWS specification allows + for multiple IDs. However, in practice, AWS only allows a maximum + size of one.' + items: + type: string + type: array + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_subnetgroups.yaml b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_subnetgroups.yaml new file mode 100644 index 000000000..4fa817cde --- /dev/null +++ b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_subnetgroups.yaml @@ -0,0 +1,360 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: subnetgroups.elasticache.aws.kubedb.com +spec: + group: elasticache.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: SubnetGroup + listKind: SubnetGroupList + plural: subnetgroups + singular: subnetgroup + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: SubnetGroup is the Schema for the SubnetGroups API. Provides + an ElastiCache Subnet Group resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SubnetGroupSpec defines the desired state of SubnetGroup + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: – Description for the cache subnet group. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + subnetIds: + description: – List of VPC Subnet IDs for the cache subnet group + items: + type: string + type: array + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. If configured with + a provider default_tags configuration block present, tags with + matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + - message: subnetIds is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.subnetIds) + status: + description: SubnetGroupStatus defines the observed state of SubnetGroup. + properties: + atProvider: + properties: + arn: + type: string + description: + description: – Description for the cache subnet group. + type: string + id: + type: string + subnetIds: + description: – List of VPC Subnet IDs for the cache subnet group + items: + type: string + type: array + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. If configured with + a provider default_tags configuration block present, tags with + matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_usergroups.yaml b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_usergroups.yaml new file mode 100644 index 000000000..83b20c79e --- /dev/null +++ b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_usergroups.yaml @@ -0,0 +1,438 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: usergroups.elasticache.aws.kubedb.com +spec: + group: elasticache.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: UserGroup + listKind: UserGroupList + plural: usergroups + singular: usergroup + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: UserGroup is the Schema for the UserGroups API. Provides an ElastiCache + user group. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: UserGroupSpec defines the desired state of UserGroup + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + engine: + description: The current supported value is REDIS. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. If configured with + a provider default_tags configuration block present, tags with + matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + userIdRefs: + description: References to User to populate userIds. + items: + description: A Reference to a named object. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which + will attempt to resolve the reference only when the + corresponding field is not present. Use 'Always' to + resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + type: array + userIdSelector: + description: Selector for a list of User to populate userIds. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + userIds: + description: The list of user IDs that belong to the user group. + items: + type: string + type: array + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: engine is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.engine) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: UserGroupStatus defines the observed state of UserGroup. + properties: + atProvider: + properties: + arn: + description: The ARN that identifies the user group. + type: string + engine: + description: The current supported value is REDIS. + type: string + id: + description: The user group identifier. + type: string + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. If configured with + a provider default_tags configuration block present, tags with + matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + userIds: + description: The list of user IDs that belong to the user group. + items: + type: string + type: array + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_users.yaml b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_users.yaml new file mode 100644 index 000000000..0c9657207 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/elasticache.aws.kubedb.com_users.yaml @@ -0,0 +1,437 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: users.elasticache.aws.kubedb.com +spec: + group: elasticache.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: User + listKind: UserList + plural: users + singular: user + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: User is the Schema for the Users API. Provides an ElastiCache + user. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: UserSpec defines the desired state of User + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + accessString: + description: Access permissions string used for this user. See + Specifying Permissions Using an Access String for more details. + type: string + authenticationMode: + description: Denotes the user's authentication properties. Detailed + below. + items: + properties: + passwordsSecretRef: + description: Specifies the passwords to use for authentication + if type is set to password. + items: + description: A SecretKeySelector is a reference to a secret + key in an arbitrary namespace. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + type: array + type: + description: 'Specifies the authentication type. Possible + options are: password, no-password-required or iam.' + type: string + required: + - type + type: object + type: array + engine: + description: The current supported value is REDIS. + type: string + noPasswordRequired: + description: Indicates a password is not required for this user. + type: boolean + passwordsSecretRef: + description: Passwords used for this user. You can create up to + two passwords for each user. + items: + description: A SecretKeySelector is a reference to a secret + key in an arbitrary namespace. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + type: array + region: + description: Region is the region you'd like your resource to + be created in. + type: string + tags: + additionalProperties: + type: string + description: A list of tags to be added to this resource. A tag + is a key-value pair. + type: object + tagsAll: + additionalProperties: + type: string + type: object + userName: + description: The username of the user. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: accessString is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.accessString) + - message: engine is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.engine) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + - message: userName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.userName) + status: + description: UserStatus defines the observed state of User. + properties: + atProvider: + properties: + accessString: + description: Access permissions string used for this user. See + Specifying Permissions Using an Access String for more details. + type: string + arn: + description: The ARN of the created ElastiCache User. + type: string + authenticationMode: + description: Denotes the user's authentication properties. Detailed + below. + items: + properties: + passwordCount: + type: number + type: + description: 'Specifies the authentication type. Possible + options are: password, no-password-required or iam.' + type: string + type: object + type: array + engine: + description: The current supported value is REDIS. + type: string + id: + type: string + noPasswordRequired: + description: Indicates a password is not required for this user. + type: boolean + tags: + additionalProperties: + type: string + description: A list of tags to be added to this resource. A tag + is a key-value pair. + type: object + tagsAll: + additionalProperties: + type: string + type: object + userName: + description: The username of the user. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domainpolicies.yaml b/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domainpolicies.yaml new file mode 100644 index 000000000..c66f235d0 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domainpolicies.yaml @@ -0,0 +1,330 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: domainpolicies.elasticsearch.aws.kubedb.com +spec: + group: elasticsearch.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: DomainPolicy + listKind: DomainPolicyList + plural: domainpolicies + singular: domainpolicy + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: DomainPolicy is the Schema for the DomainPolicys API. Provides + an Elasticsearch Domain Policy. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: DomainPolicySpec defines the desired state of DomainPolicy + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + accessPolicies: + description: IAM policy document specifying the access policies + for the domain + type: string + domainName: + description: Name of the domain. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: accessPolicies is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.accessPolicies) + - message: domainName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.domainName) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: DomainPolicyStatus defines the observed state of DomainPolicy. + properties: + atProvider: + properties: + accessPolicies: + description: IAM policy document specifying the access policies + for the domain + type: string + domainName: + description: Name of the domain. + type: string + id: + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domains.yaml b/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domains.yaml new file mode 100644 index 000000000..1546999b5 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domains.yaml @@ -0,0 +1,1062 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: domains.elasticsearch.aws.kubedb.com +spec: + group: elasticsearch.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: Domain + listKind: DomainList + plural: domains + singular: domain + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Domain is the Schema for the Domains API. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: DomainSpec defines the desired state of Domain + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + accessPolicies: + description: IAM policy document specifying the access policies + for the domain. + type: string + advancedOptions: + additionalProperties: + type: string + description: Key-value string pairs to specify advanced configuration + options. + type: object + advancedSecurityOptions: + description: Configuration block for fine-grained access control. + Detailed below. + items: + properties: + enabled: + description: Whether advanced security is enabled. + type: boolean + internalUserDatabaseEnabled: + description: Whether the internal user database is enabled. + If not set, defaults to false by the AWS API. + type: boolean + masterUserOptions: + description: Configuration block for the main user. Detailed + below. + items: + properties: + masterUserArn: + description: ARN for the main user. Only specify if + internal_user_database_enabled is not set or set + to false. + type: string + masterUserName: + description: Main user's username, which is stored + in the Amazon Elasticsearch Service domain's internal + database. Only specify if internal_user_database_enabled + is set to true. + type: string + masterUserPasswordSecretRef: + description: Main user's password, which is stored + in the Amazon Elasticsearch Service domain's internal + database. Only specify if internal_user_database_enabled + is set to true. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + type: object + type: array + required: + - enabled + type: object + type: array + autoTuneOptions: + description: Configuration block for the Auto-Tune options of + the domain. Detailed below. + items: + properties: + desiredState: + description: 'The Auto-Tune desired state for the domain. + Valid values: ENABLED or DISABLED.' + type: string + maintenanceSchedule: + description: Configuration block for Auto-Tune maintenance + windows. Can be specified multiple times for each maintenance + window. Detailed below. + items: + properties: + cronExpressionForRecurrence: + description: A cron expression specifying the recurrence + pattern for an Auto-Tune maintenance schedule. + type: string + duration: + description: Configuration block for the duration + of the Auto-Tune maintenance window. Detailed below. + items: + properties: + unit: + description: 'The unit of time specifying the + duration of an Auto-Tune maintenance window. + Valid values: HOURS.' + type: string + value: + description: An integer specifying the value + of the duration of an Auto-Tune maintenance + window. + type: number + required: + - unit + - value + type: object + type: array + startAt: + description: Date and time at which to start the Auto-Tune + maintenance schedule in RFC3339 format. + type: string + required: + - cronExpressionForRecurrence + - duration + - startAt + type: object + type: array + rollbackOnDisable: + description: 'Whether to roll back to default Auto-Tune + settings when disabling Auto-Tune. Valid values: DEFAULT_ROLLBACK + or NO_ROLLBACK.' + type: string + required: + - desiredState + type: object + type: array + clusterConfig: + description: Configuration block for the cluster of the domain. + Detailed below. + items: + properties: + coldStorageOptions: + description: Configuration block containing cold storage + configuration. Detailed below. + items: + properties: + enabled: + description: Boolean to enable cold storage for an + Elasticsearch domain. Defaults to false. Master + and ultrawarm nodes must be enabled for cold storage. + type: boolean + type: object + type: array + dedicatedMasterCount: + description: Number of dedicated main nodes in the cluster. + type: number + dedicatedMasterEnabled: + description: Whether dedicated main nodes are enabled for + the cluster. + type: boolean + dedicatedMasterType: + description: Instance type of the dedicated main nodes in + the cluster. + type: string + instanceCount: + description: Number of instances in the cluster. + type: number + instanceType: + description: Instance type of data nodes in the cluster. + type: string + warmCount: + description: Number of warm nodes in the cluster. Valid + values are between 2 and 150. warm_count can be only and + must be set when warm_enabled is set to true. + type: number + warmEnabled: + description: Whether to enable warm storage. + type: boolean + warmType: + description: Instance type for the Elasticsearch cluster's + warm nodes. Valid values are ultrawarm1.medium.elasticsearch, + ultrawarm1.large.elasticsearch and ultrawarm1.xlarge.elasticsearch. + warm_type can be only and must be set when warm_enabled + is set to true. + type: string + zoneAwarenessConfig: + description: Configuration block containing zone awareness + settings. Detailed below. + items: + properties: + availabilityZoneCount: + description: 'Number of Availability Zones for the + domain to use with zone_awareness_enabled. Defaults + to 2. Valid values: 2 or 3.' + type: number + type: object + type: array + zoneAwarenessEnabled: + description: Whether zone awareness is enabled, set to true + for multi-az deployment. To enable awareness with three + Availability Zones, the availability_zone_count within + the zone_awareness_config must be set to 3. + type: boolean + type: object + type: array + cognitoOptions: + description: Configuration block for authenticating Kibana with + Cognito. Detailed below. + items: + properties: + enabled: + description: Whether Amazon Cognito authentication with + Kibana is enabled or not. + type: boolean + identityPoolId: + description: ID of the Cognito Identity Pool to use. + type: string + roleArn: + description: ARN of the IAM role that has the AmazonESCognitoAccess + policy attached. + type: string + userPoolId: + description: ID of the Cognito User Pool to use. + type: string + required: + - identityPoolId + - roleArn + - userPoolId + type: object + type: array + domainEndpointOptions: + description: Configuration block for domain endpoint HTTP(S) related + options. Detailed below. + items: + properties: + customEndpoint: + description: Fully qualified domain for your custom endpoint. + type: string + customEndpointCertificateArn: + description: ACM certificate ARN for your custom endpoint. + type: string + customEndpointEnabled: + description: Whether to enable custom endpoint for the Elasticsearch + domain. + type: boolean + enforceHttps: + description: Whether or not to require HTTPS. Defaults to + true. + type: boolean + tlsSecurityPolicy: + description: 'Name of the TLS security policy that needs + to be applied to the HTTPS endpoint. Valid values: Policy-Min-TLS-1-0-2019-07 + and Policy-Min-TLS-1-2-2019-07.' + type: string + type: object + type: array + ebsOptions: + description: Configuration block for EBS related options, may + be required based on chosen instance size. Detailed below. + items: + properties: + ebsEnabled: + description: Whether EBS volumes are attached to data nodes + in the domain. + type: boolean + iops: + description: Baseline input/output (I/O) performance of + EBS volumes attached to data nodes. Applicable only for + the GP3 and Provisioned IOPS EBS volume types. + type: number + throughput: + description: Specifies the throughput (in MiB/s) of the + EBS volumes attached to data nodes. Applicable only for + the gp3 volume type. + type: number + volumeSize: + description: Size of EBS volumes attached to data nodes + (in GiB). + type: number + volumeType: + description: Type of EBS volumes attached to data nodes. + type: string + required: + - ebsEnabled + type: object + type: array + elasticsearchVersion: + description: Version of Elasticsearch to deploy. Defaults to 1.5. + type: string + encryptAtRest: + description: Configuration block for encrypt at rest options. + Only available for certain instance types. Detailed below. + items: + properties: + enabled: + description: Whether to enable encryption at rest. If the + encrypt_at_rest block is not provided then this defaults + to false. Enabling encryption on new domains requires + elasticsearch_version 5.1 or greater. + type: boolean + kmsKeyId: + description: KMS key ARN to encrypt the Elasticsearch domain + with. If not specified then it defaults to using the aws/es + service KMS key. Note that KMS will accept a KMS key ID + but will return the key ARN. + type: string + required: + - enabled + type: object + type: array + logPublishingOptions: + description: Configuration block for publishing slow and application + logs to CloudWatch Logs. This block can be declared multiple + times, for each log_type, within the same resource. Detailed + below. + items: + properties: + cloudwatchLogGroupArn: + description: ARN of the Cloudwatch log group to which log + needs to be published. + type: string + enabled: + description: Whether given log publishing option is enabled + or not. + type: boolean + logType: + description: 'Type of Elasticsearch log. Valid values: INDEX_SLOW_LOGS, + SEARCH_SLOW_LOGS, ES_APPLICATION_LOGS, AUDIT_LOGS.' + type: string + required: + - cloudwatchLogGroupArn + - logType + type: object + type: array + nodeToNodeEncryption: + description: Configuration block for node-to-node encryption options. + Detailed below. + items: + properties: + enabled: + description: Whether to enable node-to-node encryption. + If the node_to_node_encryption block is not provided then + this defaults to false. Enabling node-to-node encryption + of a new domain requires an elasticsearch_version of 6.0 + or greater. + type: boolean + required: + - enabled + type: object + type: array + region: + description: Region is the region you'd like your resource to + be created in. + type: string + snapshotOptions: + description: Configuration block for snapshot related options. + Detailed below. DEPRECATED. For domains running Elasticsearch + 5.3 and later, Amazon ES takes hourly automated snapshots, making + this setting irrelevant. For domains running earlier versions + of Elasticsearch, Amazon ES takes daily automated snapshots. + items: + properties: + automatedSnapshotStartHour: + description: Hour during which the service takes an automated + daily snapshot of the indices in the domain. + type: number + required: + - automatedSnapshotStartHour + type: object + type: array + tags: + additionalProperties: + type: string + description: Map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: Map of tags assigned to the resource, including those + inherited from the provider default_tags configuration block. + type: object + vpcOptions: + description: Configuration block for VPC related options. Adding + or removing this configuration forces a new resource (documentation). + Detailed below. + items: + properties: + securityGroupIds: + description: List of VPC Security Group IDs to be applied + to the Elasticsearch domain endpoints. If omitted, the + default Security Group for the VPC will be used. + items: + type: string + type: array + subnetIds: + description: List of VPC Subnet IDs for the Elasticsearch + domain endpoints to be created in. + items: + type: string + type: array + type: object + type: array + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: DomainStatus defines the observed state of Domain. + properties: + atProvider: + properties: + accessPolicies: + description: IAM policy document specifying the access policies + for the domain. + type: string + advancedOptions: + additionalProperties: + type: string + description: Key-value string pairs to specify advanced configuration + options. + type: object + advancedSecurityOptions: + description: Configuration block for fine-grained access control. + Detailed below. + items: + properties: + enabled: + description: Whether advanced security is enabled. + type: boolean + internalUserDatabaseEnabled: + description: Whether the internal user database is enabled. + If not set, defaults to false by the AWS API. + type: boolean + masterUserOptions: + description: Configuration block for the main user. Detailed + below. + items: + properties: + masterUserArn: + description: ARN for the main user. Only specify if + internal_user_database_enabled is not set or set + to false. + type: string + masterUserName: + description: Main user's username, which is stored + in the Amazon Elasticsearch Service domain's internal + database. Only specify if internal_user_database_enabled + is set to true. + type: string + type: object + type: array + type: object + type: array + arn: + description: ARN of the domain. + type: string + autoTuneOptions: + description: Configuration block for the Auto-Tune options of + the domain. Detailed below. + items: + properties: + desiredState: + description: 'The Auto-Tune desired state for the domain. + Valid values: ENABLED or DISABLED.' + type: string + maintenanceSchedule: + description: Configuration block for Auto-Tune maintenance + windows. Can be specified multiple times for each maintenance + window. Detailed below. + items: + properties: + cronExpressionForRecurrence: + description: A cron expression specifying the recurrence + pattern for an Auto-Tune maintenance schedule. + type: string + duration: + description: Configuration block for the duration + of the Auto-Tune maintenance window. Detailed below. + items: + properties: + unit: + description: 'The unit of time specifying the + duration of an Auto-Tune maintenance window. + Valid values: HOURS.' + type: string + value: + description: An integer specifying the value + of the duration of an Auto-Tune maintenance + window. + type: number + type: object + type: array + startAt: + description: Date and time at which to start the Auto-Tune + maintenance schedule in RFC3339 format. + type: string + type: object + type: array + rollbackOnDisable: + description: 'Whether to roll back to default Auto-Tune + settings when disabling Auto-Tune. Valid values: DEFAULT_ROLLBACK + or NO_ROLLBACK.' + type: string + type: object + type: array + clusterConfig: + description: Configuration block for the cluster of the domain. + Detailed below. + items: + properties: + coldStorageOptions: + description: Configuration block containing cold storage + configuration. Detailed below. + items: + properties: + enabled: + description: Boolean to enable cold storage for an + Elasticsearch domain. Defaults to false. Master + and ultrawarm nodes must be enabled for cold storage. + type: boolean + type: object + type: array + dedicatedMasterCount: + description: Number of dedicated main nodes in the cluster. + type: number + dedicatedMasterEnabled: + description: Whether dedicated main nodes are enabled for + the cluster. + type: boolean + dedicatedMasterType: + description: Instance type of the dedicated main nodes in + the cluster. + type: string + instanceCount: + description: Number of instances in the cluster. + type: number + instanceType: + description: Instance type of data nodes in the cluster. + type: string + warmCount: + description: Number of warm nodes in the cluster. Valid + values are between 2 and 150. warm_count can be only and + must be set when warm_enabled is set to true. + type: number + warmEnabled: + description: Whether to enable warm storage. + type: boolean + warmType: + description: Instance type for the Elasticsearch cluster's + warm nodes. Valid values are ultrawarm1.medium.elasticsearch, + ultrawarm1.large.elasticsearch and ultrawarm1.xlarge.elasticsearch. + warm_type can be only and must be set when warm_enabled + is set to true. + type: string + zoneAwarenessConfig: + description: Configuration block containing zone awareness + settings. Detailed below. + items: + properties: + availabilityZoneCount: + description: 'Number of Availability Zones for the + domain to use with zone_awareness_enabled. Defaults + to 2. Valid values: 2 or 3.' + type: number + type: object + type: array + zoneAwarenessEnabled: + description: Whether zone awareness is enabled, set to true + for multi-az deployment. To enable awareness with three + Availability Zones, the availability_zone_count within + the zone_awareness_config must be set to 3. + type: boolean + type: object + type: array + cognitoOptions: + description: Configuration block for authenticating Kibana with + Cognito. Detailed below. + items: + properties: + enabled: + description: Whether Amazon Cognito authentication with + Kibana is enabled or not. + type: boolean + identityPoolId: + description: ID of the Cognito Identity Pool to use. + type: string + roleArn: + description: ARN of the IAM role that has the AmazonESCognitoAccess + policy attached. + type: string + userPoolId: + description: ID of the Cognito User Pool to use. + type: string + type: object + type: array + domainEndpointOptions: + description: Configuration block for domain endpoint HTTP(S) related + options. Detailed below. + items: + properties: + customEndpoint: + description: Fully qualified domain for your custom endpoint. + type: string + customEndpointCertificateArn: + description: ACM certificate ARN for your custom endpoint. + type: string + customEndpointEnabled: + description: Whether to enable custom endpoint for the Elasticsearch + domain. + type: boolean + enforceHttps: + description: Whether or not to require HTTPS. Defaults to + true. + type: boolean + tlsSecurityPolicy: + description: 'Name of the TLS security policy that needs + to be applied to the HTTPS endpoint. Valid values: Policy-Min-TLS-1-0-2019-07 + and Policy-Min-TLS-1-2-2019-07.' + type: string + type: object + type: array + domainId: + description: Unique identifier for the domain. + type: string + ebsOptions: + description: Configuration block for EBS related options, may + be required based on chosen instance size. Detailed below. + items: + properties: + ebsEnabled: + description: Whether EBS volumes are attached to data nodes + in the domain. + type: boolean + iops: + description: Baseline input/output (I/O) performance of + EBS volumes attached to data nodes. Applicable only for + the GP3 and Provisioned IOPS EBS volume types. + type: number + throughput: + description: Specifies the throughput (in MiB/s) of the + EBS volumes attached to data nodes. Applicable only for + the gp3 volume type. + type: number + volumeSize: + description: Size of EBS volumes attached to data nodes + (in GiB). + type: number + volumeType: + description: Type of EBS volumes attached to data nodes. + type: string + type: object + type: array + elasticsearchVersion: + description: Version of Elasticsearch to deploy. Defaults to 1.5. + type: string + encryptAtRest: + description: Configuration block for encrypt at rest options. + Only available for certain instance types. Detailed below. + items: + properties: + enabled: + description: Whether to enable encryption at rest. If the + encrypt_at_rest block is not provided then this defaults + to false. Enabling encryption on new domains requires + elasticsearch_version 5.1 or greater. + type: boolean + kmsKeyId: + description: KMS key ARN to encrypt the Elasticsearch domain + with. If not specified then it defaults to using the aws/es + service KMS key. Note that KMS will accept a KMS key ID + but will return the key ARN. + type: string + type: object + type: array + endpoint: + description: Domain-specific endpoint used to submit index, search, + and data upload requests. + type: string + id: + type: string + kibanaEndpoint: + description: Domain-specific endpoint for kibana without https + scheme. + type: string + logPublishingOptions: + description: Configuration block for publishing slow and application + logs to CloudWatch Logs. This block can be declared multiple + times, for each log_type, within the same resource. Detailed + below. + items: + properties: + cloudwatchLogGroupArn: + description: ARN of the Cloudwatch log group to which log + needs to be published. + type: string + enabled: + description: Whether given log publishing option is enabled + or not. + type: boolean + logType: + description: 'Type of Elasticsearch log. Valid values: INDEX_SLOW_LOGS, + SEARCH_SLOW_LOGS, ES_APPLICATION_LOGS, AUDIT_LOGS.' + type: string + type: object + type: array + nodeToNodeEncryption: + description: Configuration block for node-to-node encryption options. + Detailed below. + items: + properties: + enabled: + description: Whether to enable node-to-node encryption. + If the node_to_node_encryption block is not provided then + this defaults to false. Enabling node-to-node encryption + of a new domain requires an elasticsearch_version of 6.0 + or greater. + type: boolean + type: object + type: array + snapshotOptions: + description: Configuration block for snapshot related options. + Detailed below. DEPRECATED. For domains running Elasticsearch + 5.3 and later, Amazon ES takes hourly automated snapshots, making + this setting irrelevant. For domains running earlier versions + of Elasticsearch, Amazon ES takes daily automated snapshots. + items: + properties: + automatedSnapshotStartHour: + description: Hour during which the service takes an automated + daily snapshot of the indices in the domain. + type: number + type: object + type: array + tags: + additionalProperties: + type: string + description: Map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: Map of tags assigned to the resource, including those + inherited from the provider default_tags configuration block. + type: object + vpcOptions: + description: Configuration block for VPC related options. Adding + or removing this configuration forces a new resource (documentation). + Detailed below. + items: + properties: + availabilityZones: + description: If the domain was created inside a VPC, the + names of the availability zones the configured subnet_ids + were created inside. + items: + type: string + type: array + securityGroupIds: + description: List of VPC Security Group IDs to be applied + to the Elasticsearch domain endpoints. If omitted, the + default Security Group for the VPC will be used. + items: + type: string + type: array + subnetIds: + description: List of VPC Subnet IDs for the Elasticsearch + domain endpoints to be created in. + items: + type: string + type: array + vpcId: + description: If the domain was created inside a VPC, the + ID of the VPC. + type: string + type: object + type: array + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domainsamloptions.yaml b/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domainsamloptions.yaml new file mode 100644 index 000000000..979292e61 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/elasticsearch.aws.kubedb.com_domainsamloptions.yaml @@ -0,0 +1,421 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: domainsamloptions.elasticsearch.aws.kubedb.com +spec: + group: elasticsearch.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: DomainSAMLOptions + listKind: DomainSAMLOptionsList + plural: domainsamloptions + singular: domainsamloptions + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: DomainSAMLOptions is the Schema for the DomainSAMLOptionss API. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: DomainSAMLOptionsSpec defines the desired state of DomainSAMLOptions + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + region: + description: Region is the region you'd like your resource to + be created in. + type: string + samlOptions: + description: The SAML authentication options for an AWS Elasticsearch + Domain. + items: + properties: + enabled: + description: Whether SAML authentication is enabled. + type: boolean + idp: + description: Information from your identity provider. + items: + properties: + entityId: + description: The unique Entity ID of the application + in SAML Identity Provider. + type: string + metadataContent: + description: The Metadata of the SAML application + in xml format. + type: string + required: + - entityId + - metadataContent + type: object + type: array + masterBackendRole: + description: This backend role from the SAML IdP receives + full permissions to the cluster, equivalent to a new master + user. + type: string + masterUserNameSecretRef: + description: This username from the SAML IdP receives full + permissions to the cluster, equivalent to a new master + user. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + rolesKey: + description: Element of the SAML assertion to use for backend + roles. Default is roles. + type: string + sessionTimeoutMinutes: + description: Duration of a session in minutes after a user + logs in. Default is 60. Maximum value is 1,440. + type: number + subjectKey: + description: Custom SAML attribute to use for user names. + Default is an empty string - "". This will cause Elasticsearch + to use the NameID element of the Subject, which is the + default location for name identifiers in the SAML specification. + type: string + type: object + type: array + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: DomainSAMLOptionsStatus defines the observed state of DomainSAMLOptions. + properties: + atProvider: + properties: + id: + description: The name of the domain the SAML options are associated + with. + type: string + samlOptions: + description: The SAML authentication options for an AWS Elasticsearch + Domain. + items: + properties: + enabled: + description: Whether SAML authentication is enabled. + type: boolean + idp: + description: Information from your identity provider. + items: + properties: + entityId: + description: The unique Entity ID of the application + in SAML Identity Provider. + type: string + metadataContent: + description: The Metadata of the SAML application + in xml format. + type: string + type: object + type: array + masterBackendRole: + description: This backend role from the SAML IdP receives + full permissions to the cluster, equivalent to a new master + user. + type: string + rolesKey: + description: Element of the SAML assertion to use for backend + roles. Default is roles. + type: string + sessionTimeoutMinutes: + description: Duration of a session in minutes after a user + logs in. Default is 60. Maximum value is 1,440. + type: number + subjectKey: + description: Custom SAML attribute to use for user names. + Default is an empty string - "". This will cause Elasticsearch + to use the NameID element of the Subject, which is the + default location for name identifiers in the SAML specification. + type: string + type: object + type: array + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/kafka.aws.kubedb.com_clusters.yaml b/charts/kubedb-provider-aws/crds/kafka.aws.kubedb.com_clusters.yaml new file mode 100644 index 000000000..4d7249401 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/kafka.aws.kubedb.com_clusters.yaml @@ -0,0 +1,1433 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: clusters.kafka.aws.kubedb.com +spec: + group: kafka.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: Cluster + listKind: ClusterList + plural: clusters + singular: cluster + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Cluster is the Schema for the Clusters API. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ClusterSpec defines the desired state of Cluster + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + brokerNodeGroupInfo: + description: Configuration block for the broker nodes of the Kafka + cluster. + items: + properties: + azDistribution: + description: The distribution of broker nodes across availability + zones (documentation). Currently the only valid value + is DEFAULT. + type: string + clientSubnets: + description: A list of subnets to connect to in client VPC + (documentation). + items: + type: string + type: array + clientSubnetsRefs: + description: References to Subnet in ec2 to populate clientSubnets. + items: + description: A Reference to a named object. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference + only when the corresponding field is not present. + Use 'Always' to resolve the reference on every + reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + type: array + clientSubnetsSelector: + description: Selector for a list of Subnet in ec2 to populate + clientSubnets. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with + the same controller reference as the selecting object + is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + connectivityInfo: + description: Information about the cluster access configuration. + See below. For security reasons, you can't turn on public + access while creating an MSK cluster. However, you can + update an existing cluster to make it publicly accessible. + You can also create a new cluster and then update it to + make it publicly accessible (documentation). + items: + properties: + publicAccess: + description: Access control settings for brokers. + See below. + items: + properties: + type: + description: 'Public access type. Valida values: + DISABLED, SERVICE_PROVIDED_EIPS.' + type: string + type: object + type: array + type: object + type: array + instanceType: + description: Specify the instance type to use for the kafka + brokersE.g., kafka.m5.large. (Pricing info) + type: string + securityGroups: + description: A list of the security groups to associate + with the elastic network interfaces to control who can + communicate with the cluster. + items: + type: string + type: array + securityGroupsRefs: + description: References to SecurityGroup in ec2 to populate + securityGroups. + items: + description: A Reference to a named object. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference + only when the corresponding field is not present. + Use 'Always' to resolve the reference on every + reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + type: array + securityGroupsSelector: + description: Selector for a list of SecurityGroup in ec2 + to populate securityGroups. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with + the same controller reference as the selecting object + is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + storageInfo: + description: A block that contains information about storage + volumes attached to MSK broker nodes. See below. + items: + properties: + ebsStorageInfo: + description: A block that contains EBS volume information. + See below. + items: + properties: + provisionedThroughput: + description: A block that contains EBS volume + provisioned throughput information. To provision + storage throughput, you must choose broker + type kafka.m5.4xlarge or larger. See below. + items: + properties: + enabled: + description: 'Controls whether provisioned + throughput is enabled or not. Default + value: false.' + type: boolean + volumeThroughput: + description: Throughput value of the EBS + volumes for the data drive on each kafka + broker node in MiB per second. The minimum + value is 250. The maximum value varies + between broker type. You can refer to + the valid values for the maximum volume + throughput at the following documentation + on throughput bottlenecks + type: number + type: object + type: array + volumeSize: + description: The size in GiB of the EBS volume + for the data drive on each broker node. Minimum + value of 1 and maximum value of 16384. + type: number + type: object + type: array + type: object + type: array + required: + - instanceType + type: object + type: array + clientAuthentication: + description: Configuration block for specifying a client authentication. + See below. + items: + properties: + sasl: + description: Configuration block for specifying SASL client + authentication. See below. + items: + properties: + iam: + description: Enables IAM client authentication. Defaults + to false. + type: boolean + scram: + description: Enables SCRAM client authentication via + AWS Secrets Manager. Defaults to false. + type: boolean + type: object + type: array + tls: + description: Configuration block for specifying TLS client + authentication. See below. + items: + properties: + certificateAuthorityArns: + description: List of ACM Certificate Authority Amazon + Resource Names (ARNs). + items: + type: string + type: array + type: object + type: array + unauthenticated: + description: Enables unauthenticated access. + type: boolean + type: object + type: array + clusterName: + description: Name of the MSK cluster. + type: string + configurationInfo: + description: Configuration block for specifying a MSK Configuration + to attach to Kafka brokers. See below. + items: + properties: + arn: + description: Amazon Resource Name (ARN) of the MSK Configuration + to use in the cluster. + type: string + revision: + description: Revision of the MSK Configuration to use in + the cluster. + type: number + required: + - arn + - revision + type: object + type: array + encryptionInfo: + description: Configuration block for specifying encryption. See + below. + items: + properties: + encryptionAtRestKmsKeyArn: + description: The ARN of the KMS key used for encryption + at rest of the broker data volumes. + type: string + encryptionAtRestKmsKeyArnRef: + description: Reference to a Key in kms to populate encryptionAtRestKmsKeyArn. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + encryptionAtRestKmsKeyArnSelector: + description: Selector for a Key in kms to populate encryptionAtRestKmsKeyArn. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with + the same controller reference as the selecting object + is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + encryptionInTransit: + description: Configuration block to specify encryption in + transit. See below. + items: + properties: + clientBroker: + description: 'Encryption setting for data in transit + between clients and brokers. Valid values: TLS, + TLS_PLAINTEXT, and PLAINTEXT. Default value is TLS.' + type: string + inCluster: + description: 'Whether data communication among broker + nodes is encrypted. Default value: true.' + type: boolean + type: object + type: array + type: object + type: array + enhancedMonitoring: + description: Specify the desired enhanced MSK CloudWatch monitoring + level. See Monitoring Amazon MSK with Amazon CloudWatch + type: string + kafkaVersion: + description: Specify the desired Kafka software version. + type: string + loggingInfo: + description: Configuration block for streaming broker logs to + Cloudwatch/S3/Kinesis Firehose. See below. + items: + properties: + brokerLogs: + description: Configuration block for Broker Logs settings + for logging info. See below. + items: + properties: + cloudwatchLogs: + items: + properties: + enabled: + description: 'Controls whether provisioned throughput + is enabled or not. Default value: false.' + type: boolean + logGroup: + description: Name of the Cloudwatch Log Group + to deliver logs to. + type: string + logGroupRef: + description: Reference to a Group in cloudwatchlogs + to populate logGroup. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + logGroupSelector: + description: Selector for a Group in cloudwatchlogs + to populate logGroup. + properties: + matchControllerRef: + description: MatchControllerRef ensures + an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object + with matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + required: + - enabled + type: object + type: array + firehose: + items: + properties: + deliveryStream: + description: Name of the Kinesis Data Firehose + delivery stream to deliver logs to. + type: string + enabled: + description: 'Controls whether provisioned throughput + is enabled or not. Default value: false.' + type: boolean + required: + - enabled + type: object + type: array + s3: + items: + properties: + bucket: + description: Name of the S3 bucket to deliver + logs to. + type: string + bucketRef: + description: Reference to a Bucket in s3 to + populate bucket. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + bucketSelector: + description: Selector for a Bucket in s3 to + populate bucket. + properties: + matchControllerRef: + description: MatchControllerRef ensures + an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object + with matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + enabled: + description: 'Controls whether provisioned throughput + is enabled or not. Default value: false.' + type: boolean + prefix: + description: Prefix to append to the folder + name. + type: string + required: + - enabled + type: object + type: array + type: object + type: array + required: + - brokerLogs + type: object + type: array + numberOfBrokerNodes: + description: The desired total number of broker nodes in the kafka + cluster. It must be a multiple of the number of specified client + subnets. + type: number + openMonitoring: + description: Configuration block for JMX and Node monitoring for + the MSK cluster. See below. + items: + properties: + prometheus: + description: Configuration block for Prometheus settings + for open monitoring. See below. + items: + properties: + jmxExporter: + description: Configuration block for JMX Exporter. + See below. + items: + properties: + enabledInBroker: + description: Indicates whether you want to enable + or disable the JMX Exporter. + type: boolean + required: + - enabledInBroker + type: object + type: array + nodeExporter: + description: Configuration block for Node Exporter. + See below. + items: + properties: + enabledInBroker: + description: Indicates whether you want to enable + or disable the JMX Exporter. + type: boolean + required: + - enabledInBroker + type: object + type: array + type: object + type: array + required: + - prometheus + type: object + type: array + region: + description: Region is the region you'd like your resource to + be created in. + type: string + storageMode: + description: 'Controls storage mode for supported storage tiers. + Valid values are: LOCAL or TIERED.' + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: brokerNodeGroupInfo is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.brokerNodeGroupInfo) + - message: clusterName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.clusterName) + - message: kafkaVersion is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.kafkaVersion) + - message: numberOfBrokerNodes is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.numberOfBrokerNodes) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: ClusterStatus defines the observed state of Cluster. + properties: + atProvider: + properties: + arn: + description: Amazon Resource Name (ARN) of the MSK Configuration + to use in the cluster. + type: string + bootstrapBrokers: + description: Comma separated list of one or more hostname:port + pairs of kafka brokers suitable to bootstrap connectivity to + the kafka cluster. Contains a value if encryption_info.0.encryption_in_transit.0.client_broker + is set to PLAINTEXT or TLS_PLAINTEXT. The resource sorts values + alphabetically. AWS may not always return all endpoints so this + value is not guaranteed to be stable across applies. + type: string + bootstrapBrokersPublicSaslIam: + description: One or more DNS names (or IP addresses) and SASL + IAM port pairs. For example, b-1-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9198,b-2-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9198,b-3-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9198. + This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker + is set to TLS_PLAINTEXT or TLS and client_authentication.0.sasl.0.iam + is set to true and broker_node_group_info.0.connectivity_info.0.public_access.0.type + is set to SERVICE_PROVIDED_EIPS and the cluster fulfill all + other requirements for public access. The resource sorts the + list alphabetically. AWS may not always return all endpoints + so the values may not be stable across applies. + type: string + bootstrapBrokersPublicSaslScram: + description: One or more DNS names (or IP addresses) and SASL + SCRAM port pairs. For example, b-1-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9196,b-2-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9196,b-3-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9196. + This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker + is set to TLS_PLAINTEXT or TLS and client_authentication.0.sasl.0.scram + is set to true and broker_node_group_info.0.connectivity_info.0.public_access.0.type + is set to SERVICE_PROVIDED_EIPS and the cluster fulfill all + other requirements for public access. The resource sorts the + list alphabetically. AWS may not always return all endpoints + so the values may not be stable across applies. + type: string + bootstrapBrokersPublicTls: + description: One or more DNS names (or IP addresses) and TLS port + pairs. For example, b-1-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9194,b-2-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9194,b-3-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9194. + This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker + is set to TLS_PLAINTEXT or TLS and broker_node_group_info.0.connectivity_info.0.public_access.0.type + is set to SERVICE_PROVIDED_EIPS and the cluster fulfill all + other requirements for public access. The resource sorts the + list alphabetically. AWS may not always return all endpoints + so the values may not be stable across applies. + type: string + bootstrapBrokersSaslIam: + description: One or more DNS names (or IP addresses) and SASL + IAM port pairs. For example, b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9098,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9098,b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9098. + This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker + is set to TLS_PLAINTEXT or TLS and client_authentication.0.sasl.0.iam + is set to true. The resource sorts the list alphabetically. + AWS may not always return all endpoints so the values may not + be stable across applies. + type: string + bootstrapBrokersSaslScram: + description: One or more DNS names (or IP addresses) and SASL + SCRAM port pairs. For example, b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9096,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9096,b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9096. + This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker + is set to TLS_PLAINTEXT or TLS and client_authentication.0.sasl.0.scram + is set to true. The resource sorts the list alphabetically. + AWS may not always return all endpoints so the values may not + be stable across applies. + type: string + bootstrapBrokersTls: + description: One or more DNS names (or IP addresses) and TLS port + pairs. For example, b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094,b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094. + This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker + is set to TLS_PLAINTEXT or TLS. The resource sorts the list + alphabetically. AWS may not always return all endpoints so the + values may not be stable across applies. + type: string + brokerNodeGroupInfo: + description: Configuration block for the broker nodes of the Kafka + cluster. + items: + properties: + azDistribution: + description: The distribution of broker nodes across availability + zones (documentation). Currently the only valid value + is DEFAULT. + type: string + clientSubnets: + description: A list of subnets to connect to in client VPC + (documentation). + items: + type: string + type: array + connectivityInfo: + description: Information about the cluster access configuration. + See below. For security reasons, you can't turn on public + access while creating an MSK cluster. However, you can + update an existing cluster to make it publicly accessible. + You can also create a new cluster and then update it to + make it publicly accessible (documentation). + items: + properties: + publicAccess: + description: Access control settings for brokers. + See below. + items: + properties: + type: + description: 'Public access type. Valida values: + DISABLED, SERVICE_PROVIDED_EIPS.' + type: string + type: object + type: array + type: object + type: array + instanceType: + description: Specify the instance type to use for the kafka + brokersE.g., kafka.m5.large. (Pricing info) + type: string + securityGroups: + description: A list of the security groups to associate + with the elastic network interfaces to control who can + communicate with the cluster. + items: + type: string + type: array + storageInfo: + description: A block that contains information about storage + volumes attached to MSK broker nodes. See below. + items: + properties: + ebsStorageInfo: + description: A block that contains EBS volume information. + See below. + items: + properties: + provisionedThroughput: + description: A block that contains EBS volume + provisioned throughput information. To provision + storage throughput, you must choose broker + type kafka.m5.4xlarge or larger. See below. + items: + properties: + enabled: + description: 'Controls whether provisioned + throughput is enabled or not. Default + value: false.' + type: boolean + volumeThroughput: + description: Throughput value of the EBS + volumes for the data drive on each kafka + broker node in MiB per second. The minimum + value is 250. The maximum value varies + between broker type. You can refer to + the valid values for the maximum volume + throughput at the following documentation + on throughput bottlenecks + type: number + type: object + type: array + volumeSize: + description: The size in GiB of the EBS volume + for the data drive on each broker node. Minimum + value of 1 and maximum value of 16384. + type: number + type: object + type: array + type: object + type: array + type: object + type: array + clientAuthentication: + description: Configuration block for specifying a client authentication. + See below. + items: + properties: + sasl: + description: Configuration block for specifying SASL client + authentication. See below. + items: + properties: + iam: + description: Enables IAM client authentication. Defaults + to false. + type: boolean + scram: + description: Enables SCRAM client authentication via + AWS Secrets Manager. Defaults to false. + type: boolean + type: object + type: array + tls: + description: Configuration block for specifying TLS client + authentication. See below. + items: + properties: + certificateAuthorityArns: + description: List of ACM Certificate Authority Amazon + Resource Names (ARNs). + items: + type: string + type: array + type: object + type: array + unauthenticated: + description: Enables unauthenticated access. + type: boolean + type: object + type: array + clusterName: + description: Name of the MSK cluster. + type: string + configurationInfo: + description: Configuration block for specifying a MSK Configuration + to attach to Kafka brokers. See below. + items: + properties: + arn: + description: Amazon Resource Name (ARN) of the MSK Configuration + to use in the cluster. + type: string + revision: + description: Revision of the MSK Configuration to use in + the cluster. + type: number + type: object + type: array + currentVersion: + description: Current version of the MSK Cluster used for updates, + e.g., K13V1IB3VIYZZH + type: string + encryptionInfo: + description: Configuration block for specifying encryption. See + below. + items: + properties: + encryptionAtRestKmsKeyArn: + description: The ARN of the KMS key used for encryption + at rest of the broker data volumes. + type: string + encryptionInTransit: + description: Configuration block to specify encryption in + transit. See below. + items: + properties: + clientBroker: + description: 'Encryption setting for data in transit + between clients and brokers. Valid values: TLS, + TLS_PLAINTEXT, and PLAINTEXT. Default value is TLS.' + type: string + inCluster: + description: 'Whether data communication among broker + nodes is encrypted. Default value: true.' + type: boolean + type: object + type: array + type: object + type: array + enhancedMonitoring: + description: Specify the desired enhanced MSK CloudWatch monitoring + level. See Monitoring Amazon MSK with Amazon CloudWatch + type: string + id: + type: string + kafkaVersion: + description: Specify the desired Kafka software version. + type: string + loggingInfo: + description: Configuration block for streaming broker logs to + Cloudwatch/S3/Kinesis Firehose. See below. + items: + properties: + brokerLogs: + description: Configuration block for Broker Logs settings + for logging info. See below. + items: + properties: + cloudwatchLogs: + items: + properties: + enabled: + description: 'Controls whether provisioned throughput + is enabled or not. Default value: false.' + type: boolean + logGroup: + description: Name of the Cloudwatch Log Group + to deliver logs to. + type: string + type: object + type: array + firehose: + items: + properties: + deliveryStream: + description: Name of the Kinesis Data Firehose + delivery stream to deliver logs to. + type: string + enabled: + description: 'Controls whether provisioned throughput + is enabled or not. Default value: false.' + type: boolean + type: object + type: array + s3: + items: + properties: + bucket: + description: Name of the S3 bucket to deliver + logs to. + type: string + enabled: + description: 'Controls whether provisioned throughput + is enabled or not. Default value: false.' + type: boolean + prefix: + description: Prefix to append to the folder + name. + type: string + type: object + type: array + type: object + type: array + type: object + type: array + numberOfBrokerNodes: + description: The desired total number of broker nodes in the kafka + cluster. It must be a multiple of the number of specified client + subnets. + type: number + openMonitoring: + description: Configuration block for JMX and Node monitoring for + the MSK cluster. See below. + items: + properties: + prometheus: + description: Configuration block for Prometheus settings + for open monitoring. See below. + items: + properties: + jmxExporter: + description: Configuration block for JMX Exporter. + See below. + items: + properties: + enabledInBroker: + description: Indicates whether you want to enable + or disable the JMX Exporter. + type: boolean + type: object + type: array + nodeExporter: + description: Configuration block for Node Exporter. + See below. + items: + properties: + enabledInBroker: + description: Indicates whether you want to enable + or disable the JMX Exporter. + type: boolean + type: object + type: array + type: object + type: array + type: object + type: array + storageMode: + description: 'Controls storage mode for supported storage tiers. + Valid values are: LOCAL or TIERED.' + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + zookeeperConnectString: + description: A comma separated list of one or more hostname:port + pairs to use to connect to the Apache Zookeeper cluster. The + returned values are sorted alphabetically. The AWS API may not + return all endpoints, so this value is not guaranteed to be + stable across applies. + type: string + zookeeperConnectStringTls: + description: A comma separated list of one or more hostname:port + pairs to use to connect to the Apache Zookeeper cluster via + TLS. The returned values are sorted alphabetically. The AWS + API may not return all endpoints, so this value is not guaranteed + to be stable across applies. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/kafka.aws.kubedb.com_configurations.yaml b/charts/kubedb-provider-aws/crds/kafka.aws.kubedb.com_configurations.yaml new file mode 100644 index 000000000..ef28f3b7c --- /dev/null +++ b/charts/kubedb-provider-aws/crds/kafka.aws.kubedb.com_configurations.yaml @@ -0,0 +1,355 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: configurations.kafka.aws.kubedb.com +spec: + group: kafka.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: Configuration + listKind: ConfigurationList + plural: configurations + singular: configuration + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Configuration is the Schema for the Configurations API. Upbound + official provider resource for managing an amazon managed streaming for + kafka configuration + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ConfigurationSpec defines the desired state of Configuration + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: Description of the configuration. + type: string + kafkaVersions: + description: List of Apache Kafka versions which can use this + configuration. + items: + type: string + type: array + name: + description: Name of the configuration. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + serverProperties: + description: Contents of the server.properties file. Supported + properties are documented in the MSK Developer Guide. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: name is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + - message: serverProperties is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.serverProperties) + status: + description: ConfigurationStatus defines the observed state of Configuration. + properties: + atProvider: + properties: + arn: + description: Amazon Resource Name (ARN) of the configuration. + type: string + description: + description: Description of the configuration. + type: string + id: + type: string + kafkaVersions: + description: List of Apache Kafka versions which can use this + configuration. + items: + type: string + type: array + latestRevision: + description: Latest revision of the configuration. + type: number + name: + description: Name of the configuration. + type: string + serverProperties: + description: Contents of the server.properties file. Supported + properties are documented in the MSK Developer Guide. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/kinesis.aws.kubedb.com_streams.yaml b/charts/kubedb-provider-aws/crds/kinesis.aws.kubedb.com_streams.yaml new file mode 100644 index 000000000..452182c93 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/kinesis.aws.kubedb.com_streams.yaml @@ -0,0 +1,439 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: streams.kinesis.aws.kubedb.com +spec: + group: kinesis.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: Stream + listKind: StreamList + plural: streams + singular: stream + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Stream is the Schema for the Streams API. Provides a AWS Kinesis + Stream + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: StreamSpec defines the desired state of Stream + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + encryptionType: + description: The encryption type to use. The only acceptable values + are NONE or KMS. The default value is NONE. + type: string + enforceConsumerDeletion: + description: A boolean that indicates all registered consumers + should be deregistered from the stream so that the stream can + be destroyed without error. The default value is false. + type: boolean + kmsKeyId: + description: The GUID for the customer-managed KMS key to use + for encryption. You can also use a Kinesis-owned master key + by specifying the alias alias/aws/kinesis. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + retentionPeriod: + description: Length of time data records are accessible after + they are added to the stream. The maximum value of a stream's + retention period is 8760 hours. Minimum value is 24. Default + is 24. + type: number + shardCount: + description: – The number of shards that the stream will use. + If the stream_mode is PROVISIONED, this field is required. Amazon + has guidelines for specifying the Stream size that should be + referenced when creating a Kinesis stream. See Amazon Kinesis + Streams for more. + type: number + shardLevelMetrics: + description: A list of shard-level CloudWatch metrics which can + be enabled for the stream. See Monitoring with CloudWatch for + more. Note that the value ALL should not be used; instead you + should provide an explicit list of metrics you wish to enable. + items: + type: string + type: array + streamModeDetails: + description: Indicates the capacity mode of the data stream. Detailed + below. + items: + properties: + streamMode: + description: Specifies the capacity mode of the stream. + Must be either PROVISIONED or ON_DEMAND. + type: string + required: + - streamMode + type: object + type: array + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: StreamStatus defines the observed state of Stream. + properties: + atProvider: + properties: + arn: + description: The Amazon Resource Name (ARN) specifying the Stream + (same as id) + type: string + encryptionType: + description: The encryption type to use. The only acceptable values + are NONE or KMS. The default value is NONE. + type: string + enforceConsumerDeletion: + description: A boolean that indicates all registered consumers + should be deregistered from the stream so that the stream can + be destroyed without error. The default value is false. + type: boolean + id: + description: The unique Stream id + type: string + kmsKeyId: + description: The GUID for the customer-managed KMS key to use + for encryption. You can also use a Kinesis-owned master key + by specifying the alias alias/aws/kinesis. + type: string + retentionPeriod: + description: Length of time data records are accessible after + they are added to the stream. The maximum value of a stream's + retention period is 8760 hours. Minimum value is 24. Default + is 24. + type: number + shardCount: + description: – The number of shards that the stream will use. + If the stream_mode is PROVISIONED, this field is required. Amazon + has guidelines for specifying the Stream size that should be + referenced when creating a Kinesis stream. See Amazon Kinesis + Streams for more. + type: number + shardLevelMetrics: + description: A list of shard-level CloudWatch metrics which can + be enabled for the stream. See Monitoring with CloudWatch for + more. Note that the value ALL should not be used; instead you + should provide an explicit list of metrics you wish to enable. + items: + type: string + type: array + streamModeDetails: + description: Indicates the capacity mode of the data stream. Detailed + below. + items: + properties: + streamMode: + description: Specifies the capacity mode of the stream. + Must be either PROVISIONED or ON_DEMAND. + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/kms.aws.kubedb.com_keys.yaml b/charts/kubedb-provider-aws/crds/kms.aws.kubedb.com_keys.yaml new file mode 100644 index 000000000..07a3ae2b5 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/kms.aws.kubedb.com_keys.yaml @@ -0,0 +1,458 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: keys.kms.aws.kubedb.com +spec: + group: kms.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: Key + listKind: KeyList + plural: keys + singular: key + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Key is the Schema for the Keys API. Manages a single-Region or + multi-Region primary KMS key. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: KeySpec defines the desired state of Key + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + bypassPolicyLockoutSafetyCheck: + description: A flag to indicate whether to bypass the key policy + lockout safety check. Setting this value to true increases the + risk that the KMS key becomes unmanageable. Do not set this + value to true indiscriminately. For more information, refer + to the scenario in the Default Key Policy section in the AWS + Key Management Service Developer Guide. The default value is + false. + type: boolean + customKeyStoreId: + description: ID of the KMS Custom Key Store where the key will + be stored instead of KMS (eg CloudHSM). + type: string + customerMasterKeySpec: + description: 'Specifies whether the key contains a symmetric key + or an asymmetric key pair and the encryption algorithms or signing + algorithms that the key supports. Valid values: SYMMETRIC_DEFAULT, RSA_2048, + RSA_3072, RSA_4096, HMAC_256, ECC_NIST_P256, ECC_NIST_P384, + ECC_NIST_P521, or ECC_SECG_P256K1. Defaults to SYMMETRIC_DEFAULT. + For help with choosing a key spec, see the AWS KMS Developer + Guide.' + type: string + deletionWindowInDays: + description: The waiting period, specified in number of days. + After the waiting period ends, AWS KMS deletes the KMS key. + If you specify a value, it must be between 7 and 30, inclusive. + If you do not specify a value, it defaults to 30. If the KMS + key is a multi-Region primary key with replicas, the waiting + period begins when the last of its replica keys is deleted. + Otherwise, the waiting period begins immediately. + type: number + description: + description: The description of the key as viewed in AWS console. + type: string + enableKeyRotation: + description: Specifies whether key rotation is enabled. Defaults + to false. + type: boolean + isEnabled: + description: Specifies whether the key is enabled. Defaults to + true. + type: boolean + keyUsage: + description: 'Specifies the intended use of the key. Valid values: + ENCRYPT_DECRYPT, SIGN_VERIFY, or GENERATE_VERIFY_MAC. Defaults + to ENCRYPT_DECRYPT.' + type: string + multiRegion: + description: Indicates whether the KMS key is a multi-Region (true) + or regional (false) key. Defaults to false. + type: boolean + policy: + description: A valid policy JSON document. Although this is a + key policy, not an IAM policy, an aws_iam_policy_document, in + the form that designates a principal, can be used. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the object. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: KeyStatus defines the observed state of Key. + properties: + atProvider: + properties: + arn: + description: The Amazon Resource Name (ARN) of the key. + type: string + bypassPolicyLockoutSafetyCheck: + description: A flag to indicate whether to bypass the key policy + lockout safety check. Setting this value to true increases the + risk that the KMS key becomes unmanageable. Do not set this + value to true indiscriminately. For more information, refer + to the scenario in the Default Key Policy section in the AWS + Key Management Service Developer Guide. The default value is + false. + type: boolean + customKeyStoreId: + description: ID of the KMS Custom Key Store where the key will + be stored instead of KMS (eg CloudHSM). + type: string + customerMasterKeySpec: + description: 'Specifies whether the key contains a symmetric key + or an asymmetric key pair and the encryption algorithms or signing + algorithms that the key supports. Valid values: SYMMETRIC_DEFAULT, RSA_2048, + RSA_3072, RSA_4096, HMAC_256, ECC_NIST_P256, ECC_NIST_P384, + ECC_NIST_P521, or ECC_SECG_P256K1. Defaults to SYMMETRIC_DEFAULT. + For help with choosing a key spec, see the AWS KMS Developer + Guide.' + type: string + deletionWindowInDays: + description: The waiting period, specified in number of days. + After the waiting period ends, AWS KMS deletes the KMS key. + If you specify a value, it must be between 7 and 30, inclusive. + If you do not specify a value, it defaults to 30. If the KMS + key is a multi-Region primary key with replicas, the waiting + period begins when the last of its replica keys is deleted. + Otherwise, the waiting period begins immediately. + type: number + description: + description: The description of the key as viewed in AWS console. + type: string + enableKeyRotation: + description: Specifies whether key rotation is enabled. Defaults + to false. + type: boolean + id: + type: string + isEnabled: + description: Specifies whether the key is enabled. Defaults to + true. + type: boolean + keyId: + description: The globally unique identifier for the key. + type: string + keyUsage: + description: 'Specifies the intended use of the key. Valid values: + ENCRYPT_DECRYPT, SIGN_VERIFY, or GENERATE_VERIFY_MAC. Defaults + to ENCRYPT_DECRYPT.' + type: string + multiRegion: + description: Indicates whether the KMS key is a multi-Region (true) + or regional (false) key. Defaults to false. + type: boolean + policy: + description: A valid policy JSON document. Although this is a + key policy, not an IAM policy, an aws_iam_policy_document, in + the form that designates a principal, can be used. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the object. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_acls.yaml b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_acls.yaml new file mode 100644 index 000000000..c37fb13ee --- /dev/null +++ b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_acls.yaml @@ -0,0 +1,358 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: acls.memorydb.aws.kubedb.com +spec: + group: memorydb.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: ACL + listKind: ACLList + plural: acls + singular: acl + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ACL is the Schema for the ACLs API. Provides a MemoryDB ACL. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ACLSpec defines the desired state of ACL + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + region: + description: Region is the region you'd like your resource to + be created in. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + userNames: + description: Set of MemoryDB user names to be included in this + ACL. + items: + type: string + type: array + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: ACLStatus defines the observed state of ACL. + properties: + atProvider: + properties: + arn: + description: The ARN of the ACL. + type: string + id: + description: Same as name. + type: string + minimumEngineVersion: + description: The minimum engine version supported by the ACL. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + userNames: + description: Set of MemoryDB user names to be included in this + ACL. + items: + type: string + type: array + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_clusters.yaml b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_clusters.yaml new file mode 100644 index 000000000..44365a422 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_clusters.yaml @@ -0,0 +1,602 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: clusters.memorydb.aws.kubedb.com +spec: + group: memorydb.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: Cluster + listKind: ClusterList + plural: clusters + singular: cluster + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Cluster is the Schema for the Clusters API. Provides a MemoryDB + Cluster. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ClusterSpec defines the desired state of Cluster + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + aclName: + description: The name of the Access Control List to associate + with the cluster. + type: string + autoMinorVersionUpgrade: + description: When set to true, the cluster will automatically + receive minor engine version upgrades after launch. Defaults + to true. + type: boolean + dataTiering: + description: Enables data tiering. This option is not supported + by all instance types. For more information, see Data tiering. + type: boolean + description: + description: Description for the cluster. + type: string + engineVersion: + description: Version number of the Redis engine to be used for + the cluster. Downgrades are not supported. + type: string + finalSnapshotName: + description: Name of the final cluster snapshot to be created + when this resource is deleted. If omitted, no final snapshot + will be made. + type: string + kmsKeyArn: + description: ARN of the KMS key used to encrypt the cluster at + rest. + type: string + maintenanceWindow: + description: 'Specifies the weekly time range during which maintenance + on the cluster is performed. Specify as a range in the format + ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance + window is a 60 minute period. Example: sun:23:00-mon:01:30.' + type: string + nodeType: + description: The compute and memory capacity of the nodes in the + cluster. See AWS documentation on supported node types as well + as vertical scaling. + type: string + numReplicasPerShard: + description: The number of replicas to apply to each shard, up + to a maximum of 5. Defaults to 1 (i.e. 2 nodes per shard). + type: number + numShards: + description: The number of shards in the cluster. Defaults to + 1. + type: number + parameterGroupName: + description: The name of the parameter group associated with the + cluster. + type: string + port: + description: The port number on which each of the nodes accepts + connections. Defaults to 6379. + type: number + region: + description: Region is the region you'd like your resource to + be created in. + type: string + securityGroupIds: + description: Set of VPC Security Group ID-s to associate with + this cluster. + items: + type: string + type: array + snapshotArns: + description: List of ARN-s that uniquely identify RDB snapshot + files stored in S3. The snapshot files will be used to populate + the new cluster. Object names in the ARN-s cannot contain any + commas. + items: + type: string + type: array + snapshotName: + description: The name of a snapshot from which to restore data + into the new cluster. + type: string + snapshotRetentionLimit: + description: The number of days for which MemoryDB retains automatic + snapshots before deleting them. When set to 0, automatic backups + are disabled. Defaults to 0. + type: number + snapshotWindow: + description: 'The daily time range (in UTC) during which MemoryDB + begins taking a daily snapshot of your shard. Example: 05:00-09:00.' + type: string + snsTopicArn: + description: ARN of the SNS topic to which cluster notifications + are sent. + type: string + subnetGroupName: + description: The name of the subnet group to be used for the cluster. + Defaults to a subnet group consisting of default VPC subnets. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + tlsEnabled: + description: A flag to enable in-transit encryption on the cluster. + When set to false, the acl_name must be open-access. Defaults + to true. + type: boolean + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: aclName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.aclName) + - message: nodeType is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.nodeType) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: ClusterStatus defines the observed state of Cluster. + properties: + atProvider: + properties: + aclName: + description: The name of the Access Control List to associate + with the cluster. + type: string + arn: + description: The ARN of the cluster. + type: string + autoMinorVersionUpgrade: + description: When set to true, the cluster will automatically + receive minor engine version upgrades after launch. Defaults + to true. + type: boolean + clusterEndpoint: + items: + properties: + address: + description: DNS hostname of the cluster configuration endpoint. + type: string + port: + description: The port number on which each of the nodes + accepts connections. Defaults to 6379. + type: number + type: object + type: array + dataTiering: + description: Enables data tiering. This option is not supported + by all instance types. For more information, see Data tiering. + type: boolean + description: + description: Description for the cluster. + type: string + enginePatchVersion: + description: Patch version number of the Redis engine used by + the cluster. + type: string + engineVersion: + description: Version number of the Redis engine to be used for + the cluster. Downgrades are not supported. + type: string + finalSnapshotName: + description: Name of the final cluster snapshot to be created + when this resource is deleted. If omitted, no final snapshot + will be made. + type: string + id: + description: Same as name. + type: string + kmsKeyArn: + description: ARN of the KMS key used to encrypt the cluster at + rest. + type: string + maintenanceWindow: + description: 'Specifies the weekly time range during which maintenance + on the cluster is performed. Specify as a range in the format + ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance + window is a 60 minute period. Example: sun:23:00-mon:01:30.' + type: string + nodeType: + description: The compute and memory capacity of the nodes in the + cluster. See AWS documentation on supported node types as well + as vertical scaling. + type: string + numReplicasPerShard: + description: The number of replicas to apply to each shard, up + to a maximum of 5. Defaults to 1 (i.e. 2 nodes per shard). + type: number + numShards: + description: The number of shards in the cluster. Defaults to + 1. + type: number + parameterGroupName: + description: The name of the parameter group associated with the + cluster. + type: string + port: + description: The port number on which each of the nodes accepts + connections. Defaults to 6379. + type: number + securityGroupIds: + description: Set of VPC Security Group ID-s to associate with + this cluster. + items: + type: string + type: array + shards: + description: Set of shards in this cluster. + items: + properties: + name: + description: Name of the cluster. Conflicts with name_prefix. + type: string + nodes: + description: Set of nodes in this shard. + items: + properties: + availabilityZone: + description: The Availability Zone in which the node + resides. + type: string + createTime: + description: 'The date and time when the node was + created. Example: 2022-01-01T21:00:00Z.' + type: string + endpoint: + items: + properties: + address: + description: DNS hostname of the cluster configuration + endpoint. + type: string + port: + description: The port number on which each of + the nodes accepts connections. Defaults to + 6379. + type: number + type: object + type: array + name: + description: Name of the cluster. Conflicts with name_prefix. + type: string + type: object + type: array + numNodes: + description: Number of individual nodes in this shard. + type: number + slots: + description: 'Keyspace for this shard. Example: 0-16383.' + type: string + type: object + type: array + snapshotArns: + description: List of ARN-s that uniquely identify RDB snapshot + files stored in S3. The snapshot files will be used to populate + the new cluster. Object names in the ARN-s cannot contain any + commas. + items: + type: string + type: array + snapshotName: + description: The name of a snapshot from which to restore data + into the new cluster. + type: string + snapshotRetentionLimit: + description: The number of days for which MemoryDB retains automatic + snapshots before deleting them. When set to 0, automatic backups + are disabled. Defaults to 0. + type: number + snapshotWindow: + description: 'The daily time range (in UTC) during which MemoryDB + begins taking a daily snapshot of your shard. Example: 05:00-09:00.' + type: string + snsTopicArn: + description: ARN of the SNS topic to which cluster notifications + are sent. + type: string + subnetGroupName: + description: The name of the subnet group to be used for the cluster. + Defaults to a subnet group consisting of default VPC subnets. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + tlsEnabled: + description: A flag to enable in-transit encryption on the cluster. + When set to false, the acl_name must be open-access. Defaults + to true. + type: boolean + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_parametergroups.yaml b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_parametergroups.yaml new file mode 100644 index 000000000..9dfc14788 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_parametergroups.yaml @@ -0,0 +1,391 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: parametergroups.memorydb.aws.kubedb.com +spec: + group: memorydb.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: ParameterGroup + listKind: ParameterGroupList + plural: parametergroups + singular: parametergroup + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ParameterGroup is the Schema for the ParameterGroups API. Provides + a MemoryDB Parameter Group. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ParameterGroupSpec defines the desired state of ParameterGroup + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: Description for the parameter group. + type: string + family: + description: The engine version that the parameter group can be + used with. + type: string + parameter: + description: Set of MemoryDB parameters to apply. Any parameters + not specified will fall back to their family defaults. Detailed + below. + items: + properties: + name: + description: The name of the parameter. + type: string + value: + description: The value of the parameter. + type: string + required: + - name + - value + type: object + type: array + region: + description: Region is the region you'd like your resource to + be created in. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: family is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.family) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: ParameterGroupStatus defines the observed state of ParameterGroup. + properties: + atProvider: + properties: + arn: + description: The ARN of the parameter group. + type: string + description: + description: Description for the parameter group. + type: string + family: + description: The engine version that the parameter group can be + used with. + type: string + id: + description: Same as name. + type: string + parameter: + description: Set of MemoryDB parameters to apply. Any parameters + not specified will fall back to their family defaults. Detailed + below. + items: + properties: + name: + description: The name of the parameter. + type: string + value: + description: The value of the parameter. + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_snapshots.yaml b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_snapshots.yaml new file mode 100644 index 000000000..0b026ac9d --- /dev/null +++ b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_snapshots.yaml @@ -0,0 +1,417 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: snapshots.memorydb.aws.kubedb.com +spec: + group: memorydb.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: Snapshot + listKind: SnapshotList + plural: snapshots + singular: snapshot + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Snapshot is the Schema for the Snapshots API. Provides a MemoryDB + Snapshot. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SnapshotSpec defines the desired state of Snapshot + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + clusterName: + description: Name of the MemoryDB cluster to take a snapshot of. + type: string + kmsKeyArn: + description: ARN of the KMS key used to encrypt the snapshot at + rest. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: clusterName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.clusterName) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: SnapshotStatus defines the observed state of Snapshot. + properties: + atProvider: + properties: + arn: + description: The ARN of the snapshot. + type: string + clusterConfiguration: + description: The configuration of the cluster from which the snapshot + was taken. + items: + properties: + description: + description: Description for the cluster. + type: string + engineVersion: + description: Version number of the Redis engine used by + the cluster. + type: string + maintenanceWindow: + description: The weekly time range during which maintenance + on the cluster is performed. + type: string + name: + description: Name of the snapshot. Conflicts with name_prefix. + type: string + nodeType: + description: Compute and memory capacity of the nodes in + the cluster. + type: string + numShards: + description: Number of shards in the cluster. + type: number + parameterGroupName: + description: Name of the parameter group associated with + the cluster. + type: string + port: + description: Port number on which the cluster accepts connections. + type: number + snapshotRetentionLimit: + description: Number of days for which MemoryDB retains automatic + snapshots before deleting them. + type: number + snapshotWindow: + description: The daily time range (in UTC) during which + MemoryDB begins taking a daily snapshot of the shard. + type: string + subnetGroupName: + description: Name of the subnet group used by the cluster. + type: string + topicArn: + description: ARN of the SNS topic to which cluster notifications + are sent. + type: string + vpcId: + description: The VPC in which the cluster exists. + type: string + type: object + type: array + clusterName: + description: Name of the MemoryDB cluster to take a snapshot of. + type: string + id: + description: The name of the snapshot. + type: string + kmsKeyArn: + description: ARN of the KMS key used to encrypt the snapshot at + rest. + type: string + source: + description: Indicates whether the snapshot is from an automatic + backup (automated) or was created manually (manual). + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_subnetgroups.yaml b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_subnetgroups.yaml new file mode 100644 index 000000000..7b34989b4 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/memorydb.aws.kubedb.com_subnetgroups.yaml @@ -0,0 +1,367 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: subnetgroups.memorydb.aws.kubedb.com +spec: + group: memorydb.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: SubnetGroup + listKind: SubnetGroupList + plural: subnetgroups + singular: subnetgroup + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: SubnetGroup is the Schema for the SubnetGroups API. Provides + a MemoryDB Subnet Group. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SubnetGroupSpec defines the desired state of SubnetGroup + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: Description for the subnet group. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + subnetIds: + description: Set of VPC Subnet ID-s for the subnet group. At least + one subnet must be provided. + items: + type: string + type: array + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + - message: subnetIds is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.subnetIds) + status: + description: SubnetGroupStatus defines the observed state of SubnetGroup. + properties: + atProvider: + properties: + arn: + description: The ARN of the subnet group. + type: string + description: + description: Description for the subnet group. + type: string + id: + description: The name of the subnet group. + type: string + subnetIds: + description: Set of VPC Subnet ID-s for the subnet group. At least + one subnet must be provided. + items: + type: string + type: array + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + vpcId: + description: The VPC in which the subnet group exists. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusteractivitystreams.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusteractivitystreams.yaml new file mode 100644 index 000000000..d40a88d8f --- /dev/null +++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusteractivitystreams.yaml @@ -0,0 +1,366 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: clusteractivitystreams.rds.aws.kubedb.com +spec: + group: rds.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: ClusterActivityStream + listKind: ClusterActivityStreamList + plural: clusteractivitystreams + singular: clusteractivitystream + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ClusterActivityStream is the Schema for the ClusterActivityStreams + API. Manages RDS Aurora Cluster Database Activity Streams + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ClusterActivityStreamSpec defines the desired state of ClusterActivityStream + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + engineNativeAuditFieldsIncluded: + description: Specifies whether the database activity stream includes + engine-native audit fields. This option only applies to an Oracle + DB instance. By default, no engine-native audit fields are included. + Defaults false. + type: boolean + kmsKeyId: + description: The AWS KMS key identifier for encrypting messages + in the database activity stream. The AWS KMS key identifier + is the key ARN, key ID, alias ARN, or alias name for the KMS + key. + type: string + mode: + description: 'Specifies the mode of the database activity stream. + Database events such as a change or access generate an activity + stream event. The database session can handle these events either + synchronously or asynchronously. One of: sync, async.' + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + resourceArn: + description: The Amazon Resource Name (ARN) of the DB cluster. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: kmsKeyId is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.kmsKeyId) + - message: mode is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.mode) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + - message: resourceArn is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.resourceArn) + status: + description: ClusterActivityStreamStatus defines the observed state of + ClusterActivityStream. + properties: + atProvider: + properties: + engineNativeAuditFieldsIncluded: + description: Specifies whether the database activity stream includes + engine-native audit fields. This option only applies to an Oracle + DB instance. By default, no engine-native audit fields are included. + Defaults false. + type: boolean + id: + description: The Amazon Resource Name (ARN) of the DB cluster. + type: string + kinesisStreamName: + description: The name of the Amazon Kinesis data stream to be + used for the database activity stream. + type: string + kmsKeyId: + description: The AWS KMS key identifier for encrypting messages + in the database activity stream. The AWS KMS key identifier + is the key ARN, key ID, alias ARN, or alias name for the KMS + key. + type: string + mode: + description: 'Specifies the mode of the database activity stream. + Database events such as a change or access generate an activity + stream event. The database session can handle these events either + synchronously or asynchronously. One of: sync, async.' + type: string + resourceArn: + description: The Amazon Resource Name (ARN) of the DB cluster. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterendpoints.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterendpoints.yaml new file mode 100644 index 000000000..6dd17374c --- /dev/null +++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterendpoints.yaml @@ -0,0 +1,391 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: clusterendpoints.rds.aws.kubedb.com +spec: + group: rds.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: ClusterEndpoint + listKind: ClusterEndpointList + plural: clusterendpoints + singular: clusterendpoint + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ClusterEndpoint is the Schema for the ClusterEndpoints API. Manages + an RDS Aurora Cluster Endpoint + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ClusterEndpointSpec defines the desired state of ClusterEndpoint + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + clusterIdentifier: + description: The cluster identifier. + type: string + customEndpointType: + description: 'The type of the endpoint. One of: READER , ANY .' + type: string + excludedMembers: + description: List of DB instance identifiers that aren't part + of the custom endpoint group. All other eligible instances are + reachable through the custom endpoint. Only relevant if the + list of static members is empty. Conflicts with static_members. + items: + type: string + type: array + region: + description: Region is the region you'd like your resource to + be created in. + type: string + staticMembers: + description: List of DB instance identifiers that are part of + the custom endpoint group. Conflicts with excluded_members. + items: + type: string + type: array + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. If configured with + a provider default_tags configuration block present, tags with + matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: clusterIdentifier is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.clusterIdentifier) + - message: customEndpointType is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.customEndpointType) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: ClusterEndpointStatus defines the observed state of ClusterEndpoint. + properties: + atProvider: + properties: + arn: + description: Amazon Resource Name (ARN) of cluster + type: string + clusterIdentifier: + description: The cluster identifier. + type: string + customEndpointType: + description: 'The type of the endpoint. One of: READER , ANY .' + type: string + endpoint: + description: A custom endpoint for the Aurora cluster + type: string + excludedMembers: + description: List of DB instance identifiers that aren't part + of the custom endpoint group. All other eligible instances are + reachable through the custom endpoint. Only relevant if the + list of static members is empty. Conflicts with static_members. + items: + type: string + type: array + id: + description: The RDS Cluster Endpoint Identifier + type: string + staticMembers: + description: List of DB instance identifiers that are part of + the custom endpoint group. Conflicts with excluded_members. + items: + type: string + type: array + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. If configured with + a provider default_tags configuration block present, tags with + matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterinstances.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterinstances.yaml new file mode 100644 index 000000000..f7db229e7 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterinstances.yaml @@ -0,0 +1,710 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: clusterinstances.rds.aws.kubedb.com +spec: + group: rds.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: ClusterInstance + listKind: ClusterInstanceList + plural: clusterinstances + singular: clusterinstance + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ClusterInstance is the Schema for the ClusterInstances API. Provides + an RDS Cluster Resource Instance + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ClusterInstanceSpec defines the desired state of ClusterInstance + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + applyImmediately: + description: Specifies whether any database modifications are + applied immediately, or during the next maintenance window. + Default isfalse. + type: boolean + autoMinorVersionUpgrade: + description: Indicates that minor engine upgrades will be applied + automatically to the DB instance during the maintenance window. + Default true. + type: boolean + availabilityZone: + description: EC2 Availability Zone that the DB instance is created + in. See docs about the details. + type: string + caCertIdentifier: + description: Identifier of the CA certificate for the DB instance. + type: string + clusterIdentifier: + description: Identifier of the aws_rds_cluster in which to launch + this instance. + type: string + copyTagsToSnapshot: + description: defined tags from the DB instance to snapshots of + the DB instance. Default false. + type: boolean + dbParameterGroupName: + description: Name of the DB parameter group to associate with + this instance. + type: string + dbSubnetGroupName: + description: 'DB subnet group to associate with this DB instance. + NOTE: This must match the db_subnet_group_name of the attached + aws_rds_cluster.' + type: string + dbSubnetGroupNameRef: + description: Reference to a SubnetGroup to populate dbSubnetGroupName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + dbSubnetGroupNameSelector: + description: Selector for a SubnetGroup to populate dbSubnetGroupName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + engine: + description: 'Name of the database engine to be used for the RDS + instance. Valid Values: aurora-mysql, aurora-postgresql, mysql, + postgres.' + type: string + engineVersion: + description: Database engine version. + type: string + instanceClass: + description: Instance class to use. For details on CPU and memory, + see Scaling Aurora DB Instances. Aurora uses db.* instance classes/types. + Please see AWS Documentation for currently available instance + classes and complete details. + type: string + monitoringInterval: + description: 'Interval, in seconds, between points when Enhanced + Monitoring metrics are collected for the DB instance. To disable + collecting Enhanced Monitoring metrics, specify 0. The default + is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.' + type: number + monitoringRoleArn: + description: ARN for the IAM role that permits RDS to send enhanced + monitoring metrics to CloudWatch Logs. You can find more information + on the AWS Documentation what IAM permissions are needed to + allow Enhanced Monitoring for RDS Instances. + type: string + performanceInsightsEnabled: + description: Specifies whether Performance Insights is enabled + or not. + type: boolean + performanceInsightsKmsKeyId: + description: ARN for the KMS key to encrypt Performance Insights + data. When specifying performance_insights_kms_key_id, performance_insights_enabled + needs to be set to true. + type: string + performanceInsightsKmsKeyIdRef: + description: Reference to a Key in kms to populate performanceInsightsKmsKeyId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + performanceInsightsKmsKeyIdSelector: + description: Selector for a Key in kms to populate performanceInsightsKmsKeyId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + performanceInsightsRetentionPeriod: + description: Amount of time in days to retain Performance Insights + data. Valid values are 7, 731 (2 years) or a multiple of 31. + When specifying performance_insights_retention_period, performance_insights_enabled + needs to be set to true. Defaults to '7'. + type: number + preferredBackupWindow: + description: 'Daily time range during which automated backups + are created if automated backups are enabled. Eg: "04:00-09:00". + NOTE: If preferred_backup_window is set at the cluster level, + this argument must be omitted.' + type: string + preferredMaintenanceWindow: + description: 'Window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi". + Eg: "Mon:00:00-Mon:03:00".' + type: string + promotionTier: + description: Default 0. Failover Priority setting on instance + level. The reader who has lower tier has higher priority to + get promoted to writer. + type: number + publiclyAccessible: + description: Bool to control if instance is publicly accessible. + Default false. See the documentation on Creating DB Instances + for more details on controlling this property. + type: boolean + region: + description: Region is the region you'd like your resource to + be created in. + type: string + tags: + additionalProperties: + type: string + description: Map of tags to assign to the instance. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: Map of tags assigned to the resource, including those + inherited from the provider default_tags configuration block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: clusterIdentifier is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.clusterIdentifier) + - message: engine is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.engine) + - message: instanceClass is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.instanceClass) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: ClusterInstanceStatus defines the observed state of ClusterInstance. + properties: + atProvider: + properties: + applyImmediately: + description: Specifies whether any database modifications are + applied immediately, or during the next maintenance window. + Default isfalse. + type: boolean + arn: + description: Amazon Resource Name (ARN) of cluster instance + type: string + autoMinorVersionUpgrade: + description: Indicates that minor engine upgrades will be applied + automatically to the DB instance during the maintenance window. + Default true. + type: boolean + availabilityZone: + description: EC2 Availability Zone that the DB instance is created + in. See docs about the details. + type: string + caCertIdentifier: + description: Identifier of the CA certificate for the DB instance. + type: string + clusterIdentifier: + description: Identifier of the aws_rds_cluster in which to launch + this instance. + type: string + copyTagsToSnapshot: + description: defined tags from the DB instance to snapshots of + the DB instance. Default false. + type: boolean + dbParameterGroupName: + description: Name of the DB parameter group to associate with + this instance. + type: string + dbSubnetGroupName: + description: 'DB subnet group to associate with this DB instance. + NOTE: This must match the db_subnet_group_name of the attached + aws_rds_cluster.' + type: string + dbiResourceId: + description: Region-unique, immutable identifier for the DB instance. + type: string + endpoint: + description: DNS address for this instance. May not be writable + type: string + engine: + description: 'Name of the database engine to be used for the RDS + instance. Valid Values: aurora-mysql, aurora-postgresql, mysql, + postgres.' + type: string + engineVersion: + description: Database engine version. + type: string + engineVersionActual: + description: Database engine version + type: string + id: + description: Instance identifier + type: string + instanceClass: + description: Instance class to use. For details on CPU and memory, + see Scaling Aurora DB Instances. Aurora uses db.* instance classes/types. + Please see AWS Documentation for currently available instance + classes and complete details. + type: string + kmsKeyId: + description: ARN for the KMS encryption key if one is set to the + cluster. + type: string + monitoringInterval: + description: 'Interval, in seconds, between points when Enhanced + Monitoring metrics are collected for the DB instance. To disable + collecting Enhanced Monitoring metrics, specify 0. The default + is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.' + type: number + monitoringRoleArn: + description: ARN for the IAM role that permits RDS to send enhanced + monitoring metrics to CloudWatch Logs. You can find more information + on the AWS Documentation what IAM permissions are needed to + allow Enhanced Monitoring for RDS Instances. + type: string + networkType: + description: Network type of the DB instance. + type: string + performanceInsightsEnabled: + description: Specifies whether Performance Insights is enabled + or not. + type: boolean + performanceInsightsKmsKeyId: + description: ARN for the KMS key to encrypt Performance Insights + data. When specifying performance_insights_kms_key_id, performance_insights_enabled + needs to be set to true. + type: string + performanceInsightsRetentionPeriod: + description: Amount of time in days to retain Performance Insights + data. Valid values are 7, 731 (2 years) or a multiple of 31. + When specifying performance_insights_retention_period, performance_insights_enabled + needs to be set to true. Defaults to '7'. + type: number + port: + description: Database port + type: number + preferredBackupWindow: + description: 'Daily time range during which automated backups + are created if automated backups are enabled. Eg: "04:00-09:00". + NOTE: If preferred_backup_window is set at the cluster level, + this argument must be omitted.' + type: string + preferredMaintenanceWindow: + description: 'Window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi". + Eg: "Mon:00:00-Mon:03:00".' + type: string + promotionTier: + description: Default 0. Failover Priority setting on instance + level. The reader who has lower tier has higher priority to + get promoted to writer. + type: number + publiclyAccessible: + description: Bool to control if instance is publicly accessible. + Default false. See the documentation on Creating DB Instances + for more details on controlling this property. + type: boolean + storageEncrypted: + description: Specifies whether the DB cluster is encrypted. + type: boolean + tags: + additionalProperties: + type: string + description: Map of tags to assign to the instance. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: Map of tags assigned to the resource, including those + inherited from the provider default_tags configuration block. + type: object + writer: + description: – Boolean indicating if this instance is writable. + False indicates this instance is a read replica. + type: boolean + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterparametergroups.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterparametergroups.yaml new file mode 100644 index 000000000..bc26d0e37 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterparametergroups.yaml @@ -0,0 +1,402 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: clusterparametergroups.rds.aws.kubedb.com +spec: + group: rds.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: ClusterParameterGroup + listKind: ClusterParameterGroupList + plural: clusterparametergroups + singular: clusterparametergroup + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ClusterParameterGroup is the Schema for the ClusterParameterGroups + API. Provides an RDS DB cluster parameter group resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ClusterParameterGroupSpec defines the desired state of ClusterParameterGroup + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: The description of the DB cluster parameter group. + type: string + family: + description: The family of the DB cluster parameter group. + type: string + parameter: + description: A list of DB parameters to apply. Note that parameters + may differ from a family to an other. Full list of all parameters + can be discovered via aws rds describe-db-cluster-parameters + after initial creation of the group. + items: + properties: + applyMethod: + description: '"immediate" (default), or "pending-reboot". + Some engines can''t apply some parameters without a reboot, + and you will need to specify "pending-reboot" here.' + type: string + name: + description: The name of the DB cluster parameter group. + type: string + value: + description: The value of the DB parameter. + type: string + required: + - name + - value + type: object + type: array + region: + description: Region is the region you'd like your resource to + be created in. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: family is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.family) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: ClusterParameterGroupStatus defines the observed state of + ClusterParameterGroup. + properties: + atProvider: + properties: + arn: + description: The ARN of the db cluster parameter group. + type: string + description: + description: The description of the DB cluster parameter group. + type: string + family: + description: The family of the DB cluster parameter group. + type: string + id: + description: The db cluster parameter group name. + type: string + parameter: + description: A list of DB parameters to apply. Note that parameters + may differ from a family to an other. Full list of all parameters + can be discovered via aws rds describe-db-cluster-parameters + after initial creation of the group. + items: + properties: + applyMethod: + description: '"immediate" (default), or "pending-reboot". + Some engines can''t apply some parameters without a reboot, + and you will need to specify "pending-reboot" here.' + type: string + name: + description: The name of the DB cluster parameter group. + type: string + value: + description: The value of the DB parameter. + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterroleassociations.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterroleassociations.yaml new file mode 100644 index 000000000..214233d41 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusterroleassociations.yaml @@ -0,0 +1,347 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: clusterroleassociations.rds.aws.kubedb.com +spec: + group: rds.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: ClusterRoleAssociation + listKind: ClusterRoleAssociationList + plural: clusterroleassociations + singular: clusterroleassociation + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ClusterRoleAssociation is the Schema for the ClusterRoleAssociations + API. Manages a RDS DB Cluster association with an IAM Role. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ClusterRoleAssociationSpec defines the desired state of ClusterRoleAssociation + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + dbClusterIdentifier: + description: DB Cluster Identifier to associate with the IAM Role. + type: string + featureName: + description: Name of the feature for association. This can be + found in the AWS documentation relevant to the integration or + a full list is available in the SupportedFeatureNames list returned + by AWS CLI rds describe-db-engine-versions. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + roleArn: + description: Amazon Resource Name (ARN) of the IAM Role to associate + with the DB Cluster. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: dbClusterIdentifier is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.dbClusterIdentifier) + - message: featureName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.featureName) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + - message: roleArn is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.roleArn) + status: + description: ClusterRoleAssociationStatus defines the observed state of + ClusterRoleAssociation. + properties: + atProvider: + properties: + dbClusterIdentifier: + description: DB Cluster Identifier to associate with the IAM Role. + type: string + featureName: + description: Name of the feature for association. This can be + found in the AWS documentation relevant to the integration or + a full list is available in the SupportedFeatureNames list returned + by AWS CLI rds describe-db-engine-versions. + type: string + id: + description: DB Cluster Identifier and IAM Role ARN separated + by a comma (,) + type: string + roleArn: + description: Amazon Resource Name (ARN) of the IAM Role to associate + with the DB Cluster. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusters.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusters.yaml new file mode 100644 index 000000000..f37ea2825 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clusters.yaml @@ -0,0 +1,1287 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: clusters.rds.aws.kubedb.com +spec: + group: rds.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: Cluster + listKind: ClusterList + plural: clusters + singular: cluster + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Cluster is the Schema for the Clusters API. Manages an RDS Aurora + Cluster + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ClusterSpec defines the desired state of Cluster + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + allocatedStorage: + description: The amount of storage in gibibytes (GiB) to allocate + to each DB instance in the Multi-AZ DB cluster. + type: number + allowMajorVersionUpgrade: + description: Enable to allow major engine version upgrades when + changing engine versions. Defaults to false. + type: boolean + applyImmediately: + description: Specifies whether any cluster modifications are applied + immediately, or during the next maintenance window. Default + is false. See Amazon RDS Documentation for more information. + type: boolean + availabilityZones: + description: List of EC2 Availability Zones for the DB cluster + storage where DB cluster instances can be created. We recommend + specifying 3 AZs or using the if necessary. A maximum of 3 + AZs can be configured. + items: + type: string + type: array + backtrackWindow: + description: Target backtrack window, in seconds. Only available + for aurora and aurora-mysql engines currently. To disable backtracking, + set this value to 0. Defaults to 0. Must be between 0 and 259200 + (72 hours) + type: number + backupRetentionPeriod: + description: Days to retain backups for. Default 1 + type: number + clusterMembers: + description: – List of RDS Instances that are a part of this cluster + items: + type: string + type: array + copyTagsToSnapshot: + description: – Copy all Cluster tags to snapshots. Default is + false. + type: boolean + databaseName: + description: 'Name for an automatically created database on cluster + creation. There are different naming restrictions per database + engine: RDS Naming Constraints' + type: string + dbClusterInstanceClass: + description: Compute and memory capacity of each DB instance in + the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all + DB instance classes are available in all AWS Regions, or for + all database engines. For the full list of DB instance classes + and availability for your engine, see DB instance class in the + Amazon RDS User Guide. (This setting is required to create a + Multi-AZ DB cluster). + type: string + dbClusterParameterGroupName: + type: string + dbInstanceParameterGroupName: + description: Instance parameter group to associate with all instances + of the DB cluster. The db_instance_parameter_group_name parameter + is only valid in combination with the allow_major_version_upgrade + parameter. + type: string + dbSubnetGroupName: + description: 'DB subnet group to associate with this DB instance. + NOTE: This must match the db_subnet_group_name specified on + every aws_rds_cluster_instance in the cluster.' + type: string + dbSubnetGroupNameRef: + description: Reference to a SubnetGroup to populate dbSubnetGroupName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + dbSubnetGroupNameSelector: + description: Selector for a SubnetGroup to populate dbSubnetGroupName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + deletionProtection: + description: If the DB instance should have deletion protection + enabled. The database can't be deleted when this value is set + to true. The default is false. + type: boolean + enableGlobalWriteForwarding: + description: Whether cluster should forward writes to an associated + global cluster. Applied to secondary clusters to enable them + to forward writes to an aws_rds_global_cluster's primary cluster. + See the Aurora Userguide documentation for more information. + type: boolean + enableHttpEndpoint: + description: Enable HTTP endpoint (data API). Only valid when + engine_mode is set to serverless. + type: boolean + enabledCloudwatchLogsExports: + description: 'Set of log types to export to cloudwatch. If omitted, + no logs will be exported. The following log types are supported: + audit, error, general, slowquery, postgresql (PostgreSQL).' + items: + type: string + type: array + engine: + description: 'Name of the database engine to be used for this + DB cluster. Valid Values: aurora-mysql, aurora-postgresql, mysql, + postgres. (Note that mysql and postgres are Multi-AZ RDS clusters).' + type: string + engineMode: + description: 'Database engine mode. Valid values: global (only + valid for Aurora MySQL 1.21 and earlier), multimaster, parallelquery, + provisioned, serverless. Defaults to: provisioned. See the RDS + User Guide for limitations when using serverless.' + type: string + engineVersion: + description: Database engine version. Updating this argument results + in an outage. See the Aurora MySQL and Aurora Postgres documentation + for your configured engine to determine this value, or by running + aws rds describe-db-engine-versions. For example with Aurora + MySQL 2, a potential value for this argument is 5.7.mysql_aurora.2.03.2. + The value can contain a partial version where supported by the + API. The actual engine version used is returned in the attribute + engine_version_actual, , see Attributes Reference below. + type: string + finalSnapshotIdentifier: + description: Name of your final DB snapshot when this DB cluster + is deleted. If omitted, no final snapshot will be made. + type: string + globalClusterIdentifier: + description: Global cluster identifier specified on aws_rds_global_cluster. + type: string + iamDatabaseAuthenticationEnabled: + description: Specifies whether or not mappings of AWS Identity + and Access Management (IAM) accounts to database accounts is + enabled. Please see AWS Documentation for availability and limitations. + type: boolean + iops: + description: Amount of Provisioned IOPS (input/output operations + per second) to be initially allocated for each DB instance in + the Multi-AZ DB cluster. For information about valid Iops values, + see Amazon RDS Provisioned IOPS storage to improve performance + in the Amazon RDS User Guide. (This setting is required to create + a Multi-AZ DB cluster). Must be a multiple between .5 and 50 + of the storage amount for the DB cluster. + type: number + kmsKeyId: + description: ARN for the KMS encryption key. When specifying kms_key_id, + storage_encrypted needs to be set to true. + type: string + manageMasterUserPassword: + description: Set to true to allow RDS to manage the master user + password in Secrets Manager. Cannot be set if master_password + is provided. + type: boolean + masterPasswordSecretRef: + description: Password for the master DB user. Note that this may + show up in logs, and it will be stored in the state file. Please + refer to the RDS Naming Constraints. Cannot be set if manage_master_user_password + is set to true. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + masterUserSecretKmsKeyId: + description: Amazon Web Services KMS key identifier is the key + ARN, key ID, alias ARN, or alias name for the KMS key. To use + a KMS key in a different Amazon Web Services account, specify + the key ARN or alias ARN. If not specified, the default KMS + key for your Amazon Web Services account is used. + type: string + masterUsername: + description: Username for the master DB user. Please refer to + the RDS Naming Constraints. This argument does not support in-place + updates and cannot be changed during a restore from snapshot. + type: string + networkType: + description: 'Network type of the cluster. Valid values: IPV4, + DUAL.' + type: string + port: + description: Port on which the DB accepts connections + type: number + preferredBackupWindow: + description: 'Daily time range during which automated backups + are created if automated backups are enabled using the BackupRetentionPeriod + parameter.Time in UTC. Default: A 30-minute window selected + at random from an 8-hour block of time per regionE.g., 04:00-09:00' + type: string + preferredMaintenanceWindow: + description: Weekly time range during which system maintenance + can occur, in (UTC) e.g., wed:04:00-wed:04:30 + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + replicationSourceIdentifier: + description: ARN of a source DB cluster or DB instance if this + DB cluster is to be created as a Read Replica. + type: string + restoreToPointInTime: + description: Nested attribute for point in time restore. More + details below. + items: + properties: + restoreToTime: + description: Date and time in UTC format to restore the + database cluster to. Conflicts with use_latest_restorable_time. + type: string + restoreType: + description: Type of restore to be performed. Valid options + are full-copy (default) and copy-on-write. + type: string + sourceClusterIdentifier: + description: Identifier of the source database cluster from + which to restore. + type: string + sourceClusterIdentifierRef: + description: Reference to a Cluster to populate sourceClusterIdentifier. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + sourceClusterIdentifierSelector: + description: Selector for a Cluster to populate sourceClusterIdentifier. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with + the same controller reference as the selecting object + is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + useLatestRestorableTime: + description: Set to true to restore the database cluster + to the latest restorable backup time. Defaults to false. + Conflicts with restore_to_time. + type: boolean + type: object + type: array + s3Import: + description: Port on which the DB accepts connections + items: + properties: + bucketName: + description: Bucket name where your backup is stored + type: string + bucketNameRef: + description: Reference to a Bucket in s3 to populate bucketName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + bucketNameSelector: + description: Selector for a Bucket in s3 to populate bucketName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with + the same controller reference as the selecting object + is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + bucketPrefix: + description: Can be blank, but is the path to your backup + type: string + ingestionRole: + description: Role applied to load the data. + type: string + sourceEngine: + description: Source engine for the backup + type: string + sourceEngineVersion: + description: Version of the source engine used to make the + backup + type: string + required: + - ingestionRole + - sourceEngine + - sourceEngineVersion + type: object + type: array + scalingConfiguration: + description: Nested attribute with scaling properties. Only valid + when engine_mode is set to serverless. More details below. + items: + properties: + autoPause: + description: Whether to enable automatic pause. A DB cluster + can be paused only when it's idle (it has no connections). + If a DB cluster is paused for more than seven days, the + DB cluster might be backed up with a snapshot. In this + case, the DB cluster is restored when there is a request + to connect to it. Defaults to true. + type: boolean + maxCapacity: + description: Maximum capacity for an Aurora DB cluster in + serverless DB engine mode. The maximum capacity must be + greater than or equal to the minimum capacity. Valid Aurora + MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, + 256. Valid Aurora PostgreSQL capacity values are (2, 4, + 8, 16, 32, 64, 192, and 384). Defaults to 16. + type: number + minCapacity: + description: Minimum capacity for an Aurora DB cluster in + serverless DB engine mode. The minimum capacity must be + lesser than or equal to the maximum capacity. Valid Aurora + MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, + 256. Valid Aurora PostgreSQL capacity values are (2, 4, + 8, 16, 32, 64, 192, and 384). Defaults to 1. + type: number + secondsUntilAutoPause: + description: Time, in seconds, before an Aurora DB cluster + in serverless mode is paused. Valid values are 300 through + 86400. Defaults to 300. + type: number + timeoutAction: + description: 'Action to take when the timeout is reached. + Valid values: ForceApplyCapacityChange, RollbackCapacityChange. + Defaults to RollbackCapacityChange. See documentation.' + type: string + type: object + type: array + serverlessv2ScalingConfiguration: + description: Nested attribute with scaling properties for ServerlessV2. + Only valid when engine_mode is set to provisioned. More details + below. + items: + properties: + maxCapacity: + description: Maximum capacity for an Aurora DB cluster in + serverless DB engine mode. The maximum capacity must be + greater than or equal to the minimum capacity. Valid Aurora + MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, + 256. Valid Aurora PostgreSQL capacity values are (2, 4, + 8, 16, 32, 64, 192, and 384). Defaults to 16. + type: number + minCapacity: + description: Minimum capacity for an Aurora DB cluster in + serverless DB engine mode. The minimum capacity must be + lesser than or equal to the maximum capacity. Valid Aurora + MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, + 256. Valid Aurora PostgreSQL capacity values are (2, 4, + 8, 16, 32, 64, 192, and 384). Defaults to 1. + type: number + required: + - maxCapacity + - minCapacity + type: object + type: array + skipFinalSnapshot: + description: Determines whether a final DB snapshot is created + before the DB cluster is deleted. If true is specified, no DB + snapshot is created. If false is specified, a DB snapshot is + created before the DB cluster is deleted, using the value from + final_snapshot_identifier. Default is false. + type: boolean + snapshotIdentifier: + description: Specifies whether or not to create this cluster from + a snapshot. You can use either the name or ARN when specifying + a DB cluster snapshot, or the ARN when specifying a DB snapshot. + Conflicts with global_cluster_identifier. Clusters cannot be + restored from snapshot and joined to an existing global cluster + in a single operation. See the AWS documentation or the Global + Cluster Restored From Snapshot example for instructions on building + a global cluster starting with a snapshot. + type: string + sourceRegion: + description: The source region for an encrypted replica DB cluster. + type: string + storageEncrypted: + description: Specifies whether the DB cluster is encrypted. The + default is false for provisioned engine_mode and true for serverless + engine_mode. When restoring an unencrypted snapshot_identifier, + the kms_key_id argument must be provided to encrypt the restored + cluster. + type: boolean + storageType: + description: '(Forces new for Multi-AZ DB clusters) Specifies + the storage type to be associated with the DB cluster. For Aurora + DB clusters, storage_type modifications can be done in-place. + For Multi-AZ DB Clusters, the iops argument must also be set. + Valid values are: "", aurora-iopt1 (Aurora DB Clusters); io1 + (Multi-AZ DB Clusters). Default: "" (Aurora DB Clusters); io1 + (Multi-AZ DB Clusters).' + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the DB cluster. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: Map of tags assigned to the resource, including those + inherited from the provider default_tags configuration block. + type: object + vpcSecurityGroupIds: + description: List of VPC security groups to associate with the + Cluster + items: + type: string + type: array + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: engine is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.engine) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: ClusterStatus defines the observed state of Cluster. + properties: + atProvider: + properties: + allocatedStorage: + description: The amount of storage in gibibytes (GiB) to allocate + to each DB instance in the Multi-AZ DB cluster. + type: number + allowMajorVersionUpgrade: + description: Enable to allow major engine version upgrades when + changing engine versions. Defaults to false. + type: boolean + applyImmediately: + description: Specifies whether any cluster modifications are applied + immediately, or during the next maintenance window. Default + is false. See Amazon RDS Documentation for more information. + type: boolean + arn: + description: Amazon Resource Name (ARN) of cluster + type: string + availabilityZones: + description: List of EC2 Availability Zones for the DB cluster + storage where DB cluster instances can be created. We recommend + specifying 3 AZs or using the if necessary. A maximum of 3 + AZs can be configured. + items: + type: string + type: array + backtrackWindow: + description: Target backtrack window, in seconds. Only available + for aurora and aurora-mysql engines currently. To disable backtracking, + set this value to 0. Defaults to 0. Must be between 0 and 259200 + (72 hours) + type: number + backupRetentionPeriod: + description: Days to retain backups for. Default 1 + type: number + clusterMembers: + description: – List of RDS Instances that are a part of this cluster + items: + type: string + type: array + clusterResourceId: + description: RDS Cluster Resource ID + type: string + copyTagsToSnapshot: + description: – Copy all Cluster tags to snapshots. Default is + false. + type: boolean + databaseName: + description: 'Name for an automatically created database on cluster + creation. There are different naming restrictions per database + engine: RDS Naming Constraints' + type: string + dbClusterInstanceClass: + description: Compute and memory capacity of each DB instance in + the Multi-AZ DB cluster, for example db.m6g.xlarge. Not all + DB instance classes are available in all AWS Regions, or for + all database engines. For the full list of DB instance classes + and availability for your engine, see DB instance class in the + Amazon RDS User Guide. (This setting is required to create a + Multi-AZ DB cluster). + type: string + dbClusterParameterGroupName: + type: string + dbInstanceParameterGroupName: + description: Instance parameter group to associate with all instances + of the DB cluster. The db_instance_parameter_group_name parameter + is only valid in combination with the allow_major_version_upgrade + parameter. + type: string + dbSubnetGroupName: + description: 'DB subnet group to associate with this DB instance. + NOTE: This must match the db_subnet_group_name specified on + every aws_rds_cluster_instance in the cluster.' + type: string + deletionProtection: + description: If the DB instance should have deletion protection + enabled. The database can't be deleted when this value is set + to true. The default is false. + type: boolean + enableGlobalWriteForwarding: + description: Whether cluster should forward writes to an associated + global cluster. Applied to secondary clusters to enable them + to forward writes to an aws_rds_global_cluster's primary cluster. + See the Aurora Userguide documentation for more information. + type: boolean + enableHttpEndpoint: + description: Enable HTTP endpoint (data API). Only valid when + engine_mode is set to serverless. + type: boolean + enabledCloudwatchLogsExports: + description: 'Set of log types to export to cloudwatch. If omitted, + no logs will be exported. The following log types are supported: + audit, error, general, slowquery, postgresql (PostgreSQL).' + items: + type: string + type: array + endpoint: + description: DNS address of the RDS instance + type: string + engine: + description: 'Name of the database engine to be used for this + DB cluster. Valid Values: aurora-mysql, aurora-postgresql, mysql, + postgres. (Note that mysql and postgres are Multi-AZ RDS clusters).' + type: string + engineMode: + description: 'Database engine mode. Valid values: global (only + valid for Aurora MySQL 1.21 and earlier), multimaster, parallelquery, + provisioned, serverless. Defaults to: provisioned. See the RDS + User Guide for limitations when using serverless.' + type: string + engineVersion: + description: Database engine version. Updating this argument results + in an outage. See the Aurora MySQL and Aurora Postgres documentation + for your configured engine to determine this value, or by running + aws rds describe-db-engine-versions. For example with Aurora + MySQL 2, a potential value for this argument is 5.7.mysql_aurora.2.03.2. + The value can contain a partial version where supported by the + API. The actual engine version used is returned in the attribute + engine_version_actual, , see Attributes Reference below. + type: string + engineVersionActual: + description: Running version of the database. + type: string + finalSnapshotIdentifier: + description: Name of your final DB snapshot when this DB cluster + is deleted. If omitted, no final snapshot will be made. + type: string + globalClusterIdentifier: + description: Global cluster identifier specified on aws_rds_global_cluster. + type: string + hostedZoneId: + description: Route53 Hosted Zone ID of the endpoint + type: string + iamDatabaseAuthenticationEnabled: + description: Specifies whether or not mappings of AWS Identity + and Access Management (IAM) accounts to database accounts is + enabled. Please see AWS Documentation for availability and limitations. + type: boolean + iamRoles: + description: List of ARNs for the IAM roles to associate to the + RDS Cluster. + items: + type: string + type: array + id: + description: RDS Cluster Identifier + type: string + iops: + description: Amount of Provisioned IOPS (input/output operations + per second) to be initially allocated for each DB instance in + the Multi-AZ DB cluster. For information about valid Iops values, + see Amazon RDS Provisioned IOPS storage to improve performance + in the Amazon RDS User Guide. (This setting is required to create + a Multi-AZ DB cluster). Must be a multiple between .5 and 50 + of the storage amount for the DB cluster. + type: number + kmsKeyId: + description: ARN for the KMS encryption key. When specifying kms_key_id, + storage_encrypted needs to be set to true. + type: string + manageMasterUserPassword: + description: Set to true to allow RDS to manage the master user + password in Secrets Manager. Cannot be set if master_password + is provided. + type: boolean + masterUserSecret: + description: Block that specifies the master user secret. Only + available when manage_master_user_password is set to true. Documented + below. + items: + properties: + kmsKeyId: + description: Amazon Web Services KMS key identifier that + is used to encrypt the secret. + type: string + secretArn: + description: Amazon Resource Name (ARN) of the secret. + type: string + secretStatus: + description: 'Status of the secret. Valid Values: creating + | active | rotating | impaired.' + type: string + type: object + type: array + masterUserSecretKmsKeyId: + description: Amazon Web Services KMS key identifier is the key + ARN, key ID, alias ARN, or alias name for the KMS key. To use + a KMS key in a different Amazon Web Services account, specify + the key ARN or alias ARN. If not specified, the default KMS + key for your Amazon Web Services account is used. + type: string + masterUsername: + description: Username for the master DB user. Please refer to + the RDS Naming Constraints. This argument does not support in-place + updates and cannot be changed during a restore from snapshot. + type: string + networkType: + description: 'Network type of the cluster. Valid values: IPV4, + DUAL.' + type: string + port: + description: Port on which the DB accepts connections + type: number + preferredBackupWindow: + description: 'Daily time range during which automated backups + are created if automated backups are enabled using the BackupRetentionPeriod + parameter.Time in UTC. Default: A 30-minute window selected + at random from an 8-hour block of time per regionE.g., 04:00-09:00' + type: string + preferredMaintenanceWindow: + description: Weekly time range during which system maintenance + can occur, in (UTC) e.g., wed:04:00-wed:04:30 + type: string + readerEndpoint: + description: Read-only endpoint for the Aurora cluster, automatically + load-balanced across replicas + type: string + replicationSourceIdentifier: + description: ARN of a source DB cluster or DB instance if this + DB cluster is to be created as a Read Replica. + type: string + restoreToPointInTime: + description: Nested attribute for point in time restore. More + details below. + items: + properties: + restoreToTime: + description: Date and time in UTC format to restore the + database cluster to. Conflicts with use_latest_restorable_time. + type: string + restoreType: + description: Type of restore to be performed. Valid options + are full-copy (default) and copy-on-write. + type: string + sourceClusterIdentifier: + description: Identifier of the source database cluster from + which to restore. + type: string + useLatestRestorableTime: + description: Set to true to restore the database cluster + to the latest restorable backup time. Defaults to false. + Conflicts with restore_to_time. + type: boolean + type: object + type: array + s3Import: + description: Port on which the DB accepts connections + items: + properties: + bucketName: + description: Bucket name where your backup is stored + type: string + bucketPrefix: + description: Can be blank, but is the path to your backup + type: string + ingestionRole: + description: Role applied to load the data. + type: string + sourceEngine: + description: Source engine for the backup + type: string + sourceEngineVersion: + description: Version of the source engine used to make the + backup + type: string + type: object + type: array + scalingConfiguration: + description: Nested attribute with scaling properties. Only valid + when engine_mode is set to serverless. More details below. + items: + properties: + autoPause: + description: Whether to enable automatic pause. A DB cluster + can be paused only when it's idle (it has no connections). + If a DB cluster is paused for more than seven days, the + DB cluster might be backed up with a snapshot. In this + case, the DB cluster is restored when there is a request + to connect to it. Defaults to true. + type: boolean + maxCapacity: + description: Maximum capacity for an Aurora DB cluster in + serverless DB engine mode. The maximum capacity must be + greater than or equal to the minimum capacity. Valid Aurora + MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, + 256. Valid Aurora PostgreSQL capacity values are (2, 4, + 8, 16, 32, 64, 192, and 384). Defaults to 16. + type: number + minCapacity: + description: Minimum capacity for an Aurora DB cluster in + serverless DB engine mode. The minimum capacity must be + lesser than or equal to the maximum capacity. Valid Aurora + MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, + 256. Valid Aurora PostgreSQL capacity values are (2, 4, + 8, 16, 32, 64, 192, and 384). Defaults to 1. + type: number + secondsUntilAutoPause: + description: Time, in seconds, before an Aurora DB cluster + in serverless mode is paused. Valid values are 300 through + 86400. Defaults to 300. + type: number + timeoutAction: + description: 'Action to take when the timeout is reached. + Valid values: ForceApplyCapacityChange, RollbackCapacityChange. + Defaults to RollbackCapacityChange. See documentation.' + type: string + type: object + type: array + serverlessv2ScalingConfiguration: + description: Nested attribute with scaling properties for ServerlessV2. + Only valid when engine_mode is set to provisioned. More details + below. + items: + properties: + maxCapacity: + description: Maximum capacity for an Aurora DB cluster in + serverless DB engine mode. The maximum capacity must be + greater than or equal to the minimum capacity. Valid Aurora + MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, + 256. Valid Aurora PostgreSQL capacity values are (2, 4, + 8, 16, 32, 64, 192, and 384). Defaults to 16. + type: number + minCapacity: + description: Minimum capacity for an Aurora DB cluster in + serverless DB engine mode. The minimum capacity must be + lesser than or equal to the maximum capacity. Valid Aurora + MySQL capacity values are 1, 2, 4, 8, 16, 32, 64, 128, + 256. Valid Aurora PostgreSQL capacity values are (2, 4, + 8, 16, 32, 64, 192, and 384). Defaults to 1. + type: number + type: object + type: array + skipFinalSnapshot: + description: Determines whether a final DB snapshot is created + before the DB cluster is deleted. If true is specified, no DB + snapshot is created. If false is specified, a DB snapshot is + created before the DB cluster is deleted, using the value from + final_snapshot_identifier. Default is false. + type: boolean + snapshotIdentifier: + description: Specifies whether or not to create this cluster from + a snapshot. You can use either the name or ARN when specifying + a DB cluster snapshot, or the ARN when specifying a DB snapshot. + Conflicts with global_cluster_identifier. Clusters cannot be + restored from snapshot and joined to an existing global cluster + in a single operation. See the AWS documentation or the Global + Cluster Restored From Snapshot example for instructions on building + a global cluster starting with a snapshot. + type: string + sourceRegion: + description: The source region for an encrypted replica DB cluster. + type: string + storageEncrypted: + description: Specifies whether the DB cluster is encrypted. The + default is false for provisioned engine_mode and true for serverless + engine_mode. When restoring an unencrypted snapshot_identifier, + the kms_key_id argument must be provided to encrypt the restored + cluster. + type: boolean + storageType: + description: '(Forces new for Multi-AZ DB clusters) Specifies + the storage type to be associated with the DB cluster. For Aurora + DB clusters, storage_type modifications can be done in-place. + For Multi-AZ DB Clusters, the iops argument must also be set. + Valid values are: "", aurora-iopt1 (Aurora DB Clusters); io1 + (Multi-AZ DB Clusters). Default: "" (Aurora DB Clusters); io1 + (Multi-AZ DB Clusters).' + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the DB cluster. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: Map of tags assigned to the resource, including those + inherited from the provider default_tags configuration block. + type: object + vpcSecurityGroupIds: + description: List of VPC security groups to associate with the + Cluster + items: + type: string + type: array + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clustersnapshots.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clustersnapshots.yaml new file mode 100644 index 000000000..6457c4287 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_clustersnapshots.yaml @@ -0,0 +1,404 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: clustersnapshots.rds.aws.kubedb.com +spec: + group: rds.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: ClusterSnapshot + listKind: ClusterSnapshotList + plural: clustersnapshots + singular: clustersnapshot + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ClusterSnapshot is the Schema for the ClusterSnapshots API. Manages + an RDS database cluster snapshot. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ClusterSnapshotSpec defines the desired state of ClusterSnapshot + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + dbClusterIdentifier: + description: The DB Cluster Identifier from which to take the + snapshot. + type: string + dbClusterSnapshotIdentifier: + description: The Identifier for the snapshot. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the DB cluster. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: dbClusterIdentifier is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.dbClusterIdentifier) + - message: dbClusterSnapshotIdentifier is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.dbClusterSnapshotIdentifier) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: ClusterSnapshotStatus defines the observed state of ClusterSnapshot. + properties: + atProvider: + properties: + allocatedStorage: + description: Allocated storage size in gigabytes (GB). + type: number + availabilityZones: + description: List of EC2 Availability Zones that instances in + the DB cluster snapshot can be restored in. + items: + type: string + type: array + dbClusterIdentifier: + description: The DB Cluster Identifier from which to take the + snapshot. + type: string + dbClusterSnapshotArn: + description: The Amazon Resource Name (ARN) for the DB Cluster + Snapshot. + type: string + dbClusterSnapshotIdentifier: + description: The Identifier for the snapshot. + type: string + engine: + description: Name of the database engine. + type: string + engineVersion: + description: Version of the database engine for this DB cluster + snapshot. + type: string + id: + type: string + kmsKeyId: + description: If storage_encrypted is true, the AWS KMS key identifier + for the encrypted DB cluster snapshot. + type: string + licenseModel: + description: License model information for the restored DB cluster. + type: string + port: + description: Port that the DB cluster was listening on at the + time of the snapshot. + type: number + snapshotType: + type: string + sourceDbClusterSnapshotArn: + description: The Amazon Resource Name (ARN) for the DB Cluster + Snapshot. + type: string + status: + description: The status of this DB Cluster Snapshot. + type: string + storageEncrypted: + description: Whether the DB cluster snapshot is encrypted. + type: boolean + tags: + additionalProperties: + type: string + description: A map of tags to assign to the DB cluster. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + vpcId: + description: The VPC ID associated with the DB cluster snapshot. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_dbinstanceautomatedbackupsreplications.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_dbinstanceautomatedbackupsreplications.yaml new file mode 100644 index 000000000..103c46cbe --- /dev/null +++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_dbinstanceautomatedbackupsreplications.yaml @@ -0,0 +1,356 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: dbinstanceautomatedbackupsreplications.rds.aws.kubedb.com +spec: + group: rds.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: DBInstanceAutomatedBackupsReplication + listKind: DBInstanceAutomatedBackupsReplicationList + plural: dbinstanceautomatedbackupsreplications + singular: dbinstanceautomatedbackupsreplication + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: DBInstanceAutomatedBackupsReplication is the Schema for the DBInstanceAutomatedBackupsReplications + API. Enables replication of automated backups to a different AWS Region. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: DBInstanceAutomatedBackupsReplicationSpec defines the desired + state of DBInstanceAutomatedBackupsReplication + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + kmsKeyId: + description: The AWS KMS key identifier for encryption of the + replicated automated backups. The KMS key ID is the Amazon Resource + Name (ARN) for the KMS encryption key in the destination AWS + Region, for example, arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE. + type: string + preSignedUrl: + description: A URL that contains a Signature Version 4 signed + request for the StartDBInstanceAutomatedBackupsReplication action + to be called in the AWS Region of the source DB instance. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + retentionPeriod: + description: The retention period for the replicated automated + backups, defaults to 7. + type: number + sourceDbInstanceArn: + description: The Amazon Resource Name (ARN) of the source DB instance + for the replicated automated backups, for example, arn:aws:rds:us-west-2:123456789012:db:mydatabase. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + - message: sourceDbInstanceArn is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.sourceDbInstanceArn) + status: + description: DBInstanceAutomatedBackupsReplicationStatus defines the observed + state of DBInstanceAutomatedBackupsReplication. + properties: + atProvider: + properties: + id: + description: The Amazon Resource Name (ARN) of the replicated + automated backups. + type: string + kmsKeyId: + description: The AWS KMS key identifier for encryption of the + replicated automated backups. The KMS key ID is the Amazon Resource + Name (ARN) for the KMS encryption key in the destination AWS + Region, for example, arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE. + type: string + preSignedUrl: + description: A URL that contains a Signature Version 4 signed + request for the StartDBInstanceAutomatedBackupsReplication action + to be called in the AWS Region of the source DB instance. + type: string + retentionPeriod: + description: The retention period for the replicated automated + backups, defaults to 7. + type: number + sourceDbInstanceArn: + description: The Amazon Resource Name (ARN) of the source DB instance + for the replicated automated backups, for example, arn:aws:rds:us-west-2:123456789012:db:mydatabase. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_dbsnapshotcopies.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_dbsnapshotcopies.yaml new file mode 100644 index 000000000..b00a87738 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_dbsnapshotcopies.yaml @@ -0,0 +1,438 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: dbsnapshotcopies.rds.aws.kubedb.com +spec: + group: rds.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: DBSnapshotCopy + listKind: DBSnapshotCopyList + plural: dbsnapshotcopies + singular: dbsnapshotcopy + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: DBSnapshotCopy is the Schema for the DBSnapshotCopys API. Manages + an RDS database instance snapshot copy. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: DBSnapshotCopySpec defines the desired state of DBSnapshotCopy + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + copyTags: + description: Whether to copy existing tags. Defaults to false. + type: boolean + destinationRegion: + description: The Destination region to place snapshot copy. + type: string + kmsKeyId: + description: KMS key ID. + type: string + optionGroupName: + description: The name of an option group to associate with the + copy of the snapshot. + type: string + presignedUrl: + description: he URL that contains a Signature Version 4 signed + request. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + sourceDbSnapshotIdentifier: + description: Snapshot identifier of the source snapshot. + type: string + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. If configured with + a provider default_tags configuration block present, tags with + matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + targetCustomAvailabilityZone: + description: The external custom Availability Zone. + type: string + targetDbSnapshotIdentifier: + description: The Identifier for the snapshot. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + - message: sourceDbSnapshotIdentifier is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.sourceDbSnapshotIdentifier) + - message: targetDbSnapshotIdentifier is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.targetDbSnapshotIdentifier) + status: + description: DBSnapshotCopyStatus defines the observed state of DBSnapshotCopy. + properties: + atProvider: + properties: + allocatedStorage: + description: Specifies the allocated storage size in gigabytes + (GB). + type: number + availabilityZone: + description: Specifies the name of the Availability Zone the DB + instance was located in at the time of the DB snapshot. + type: string + copyTags: + description: Whether to copy existing tags. Defaults to false. + type: boolean + dbSnapshotArn: + description: The Amazon Resource Name (ARN) for the DB snapshot. + type: string + destinationRegion: + description: The Destination region to place snapshot copy. + type: string + encrypted: + description: Specifies whether the DB snapshot is encrypted. + type: boolean + engine: + description: Specifies the name of the database engine. + type: string + engineVersion: + description: Specifies the version of the database engine. + type: string + id: + description: Snapshot Identifier. + type: string + iops: + description: Specifies the Provisioned IOPS (I/O operations per + second) value of the DB instance at the time of the snapshot. + type: number + kmsKeyId: + description: KMS key ID. + type: string + licenseModel: + description: License model information for the restored DB instance. + type: string + optionGroupName: + description: The name of an option group to associate with the + copy of the snapshot. + type: string + port: + type: number + presignedUrl: + description: he URL that contains a Signature Version 4 signed + request. + type: string + snapshotType: + type: string + sourceDbSnapshotIdentifier: + description: Snapshot identifier of the source snapshot. + type: string + sourceRegion: + description: The region that the DB snapshot was created in or + copied from. + type: string + storageType: + description: Specifies the storage type associated with DB snapshot. + type: string + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. If configured with + a provider default_tags configuration block present, tags with + matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + targetCustomAvailabilityZone: + description: The external custom Availability Zone. + type: string + targetDbSnapshotIdentifier: + description: The Identifier for the snapshot. + type: string + vpcId: + description: Provides the VPC ID associated with the DB snapshot. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_eventsubscriptions.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_eventsubscriptions.yaml new file mode 100644 index 000000000..2a7190e29 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_eventsubscriptions.yaml @@ -0,0 +1,407 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: eventsubscriptions.rds.aws.kubedb.com +spec: + group: rds.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: EventSubscription + listKind: EventSubscriptionList + plural: eventsubscriptions + singular: eventsubscription + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: EventSubscription is the Schema for the EventSubscriptions API. + Provides a DB event subscription resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: EventSubscriptionSpec defines the desired state of EventSubscription + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + enabled: + description: A boolean flag to enable/disable the subscription. + Defaults to true. + type: boolean + eventCategories: + description: A list of event categories for a SourceType that + you want to subscribe to. See http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html + or run aws rds describe-event-categories. + items: + type: string + type: array + region: + description: Region is the region you'd like your resource to + be created in. + type: string + snsTopic: + description: The SNS topic to send events to. + type: string + sourceIds: + description: A list of identifiers of the event sources for which + events will be returned. If not specified, then all sources + are included in the response. If specified, a source_type must + also be specified. + items: + type: string + type: array + sourceType: + description: The type of source that will be generating the events. + Valid options are db-instance, db-security-group, db-parameter-group, + db-snapshot, db-cluster or db-cluster-snapshot. If not set, + all sources will be subscribed to. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + - message: snsTopic is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.snsTopic) + status: + description: EventSubscriptionStatus defines the observed state of EventSubscription. + properties: + atProvider: + properties: + arn: + description: The Amazon Resource Name of the RDS event notification + subscription + type: string + customerAwsId: + description: The AWS customer account associated with the RDS + event notification subscription + type: string + enabled: + description: A boolean flag to enable/disable the subscription. + Defaults to true. + type: boolean + eventCategories: + description: A list of event categories for a SourceType that + you want to subscribe to. See http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html + or run aws rds describe-event-categories. + items: + type: string + type: array + id: + description: The name of the RDS event notification subscription + type: string + snsTopic: + description: The SNS topic to send events to. + type: string + sourceIds: + description: A list of identifiers of the event sources for which + events will be returned. If not specified, then all sources + are included in the response. If specified, a source_type must + also be specified. + items: + type: string + type: array + sourceType: + description: The type of source that will be generating the events. + Valid options are db-instance, db-security-group, db-parameter-group, + db-snapshot, db-cluster or db-cluster-snapshot. If not set, + all sources will be subscribed to. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_globalclusters.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_globalclusters.yaml new file mode 100644 index 000000000..4bb1c6bc7 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_globalclusters.yaml @@ -0,0 +1,407 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: globalclusters.rds.aws.kubedb.com +spec: + group: rds.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: GlobalCluster + listKind: GlobalClusterList + plural: globalclusters + singular: globalcluster + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: GlobalCluster is the Schema for the GlobalClusters API. Manages + an RDS Global Cluster + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: GlobalClusterSpec defines the desired state of GlobalCluster + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + databaseName: + description: Name for an automatically created database on cluster + creation. + type: string + deletionProtection: + description: If the Global Cluster should have deletion protection + enabled. The database can't be deleted when this value is set + to true. The default is false. + type: boolean + engine: + description: 'Name of the database engine to be used for this + DB cluster. Valid values: aurora, aurora-mysql, aurora-postgresql. + Defaults to aurora. Conflicts with source_db_cluster_identifier.' + type: string + engineVersion: + description: 'Engine version of the Aurora global database. The + engine, engine_version, and instance_class (on the aws_rds_cluster_instance) + must together support global databases. See Using Amazon Aurora + global databases for more information. NOTE: To avoid an inconsistent + final plan error while upgrading, use the lifecycle ignore_changes + for engine_version meta argument on the associated aws_rds_cluster + resource as shown above in Upgrading Engine Versions example.' + type: string + forceDestroy: + description: Enable to remove DB Cluster members from Global Cluster + on destroy. Required with source_db_cluster_identifier. + type: boolean + region: + description: Region is the region you'd like your resource to + be created in. + type: string + sourceDbClusterIdentifier: + description: Amazon Resource Name (ARN) to use as the primary + DB Cluster of the Global Cluster on creation. + type: string + storageEncrypted: + description: Specifies whether the DB cluster is encrypted. The + default is false unless source_db_cluster_identifier is specified + and encrypted. + type: boolean + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: GlobalClusterStatus defines the observed state of GlobalCluster. + properties: + atProvider: + properties: + arn: + description: RDS Global Cluster Amazon Resource Name (ARN) + type: string + databaseName: + description: Name for an automatically created database on cluster + creation. + type: string + deletionProtection: + description: If the Global Cluster should have deletion protection + enabled. The database can't be deleted when this value is set + to true. The default is false. + type: boolean + engine: + description: 'Name of the database engine to be used for this + DB cluster. Valid values: aurora, aurora-mysql, aurora-postgresql. + Defaults to aurora. Conflicts with source_db_cluster_identifier.' + type: string + engineVersion: + description: 'Engine version of the Aurora global database. The + engine, engine_version, and instance_class (on the aws_rds_cluster_instance) + must together support global databases. See Using Amazon Aurora + global databases for more information. NOTE: To avoid an inconsistent + final plan error while upgrading, use the lifecycle ignore_changes + for engine_version meta argument on the associated aws_rds_cluster + resource as shown above in Upgrading Engine Versions example.' + type: string + engineVersionActual: + type: string + forceDestroy: + description: Enable to remove DB Cluster members from Global Cluster + on destroy. Required with source_db_cluster_identifier. + type: boolean + globalClusterMembers: + description: Set of objects containing Global Cluster members. + items: + properties: + dbClusterArn: + description: Amazon Resource Name (ARN) of member DB Cluster + type: string + isWriter: + description: Whether the member is the primary DB Cluster + type: boolean + type: object + type: array + globalClusterResourceId: + description: AWS Region-unique, immutable identifier for the global + database cluster. This identifier is found in AWS CloudTrail + log entries whenever the AWS KMS key for the DB cluster is accessed + type: string + id: + description: RDS Global Cluster identifier + type: string + sourceDbClusterIdentifier: + description: Amazon Resource Name (ARN) to use as the primary + DB Cluster of the Global Cluster on creation. + type: string + storageEncrypted: + description: Specifies whether the DB cluster is encrypted. The + default is false unless source_db_cluster_identifier is specified + and encrypted. + type: boolean + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_instanceroleassociations.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_instanceroleassociations.yaml new file mode 100644 index 000000000..1926f47a0 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_instanceroleassociations.yaml @@ -0,0 +1,350 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: instanceroleassociations.rds.aws.kubedb.com +spec: + group: rds.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: InstanceRoleAssociation + listKind: InstanceRoleAssociationList + plural: instanceroleassociations + singular: instanceroleassociation + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: InstanceRoleAssociation is the Schema for the InstanceRoleAssociations + API. Manages an RDS DB Instance association with an IAM Role. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: InstanceRoleAssociationSpec defines the desired state of + InstanceRoleAssociation + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + dbInstanceIdentifier: + description: DB Instance Identifier to associate with the IAM + Role. + type: string + featureName: + description: Name of the feature for association. This can be + found in the AWS documentation relevant to the integration or + a full list is available in the SupportedFeatureNames list returned + by AWS CLI rds describe-db-engine-versions. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + roleArn: + description: Amazon Resource Name (ARN) of the IAM Role to associate + with the DB Instance. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: dbInstanceIdentifier is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.dbInstanceIdentifier) + - message: featureName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.featureName) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + - message: roleArn is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.roleArn) + status: + description: InstanceRoleAssociationStatus defines the observed state + of InstanceRoleAssociation. + properties: + atProvider: + properties: + dbInstanceIdentifier: + description: DB Instance Identifier to associate with the IAM + Role. + type: string + featureName: + description: Name of the feature for association. This can be + found in the AWS documentation relevant to the integration or + a full list is available in the SupportedFeatureNames list returned + by AWS CLI rds describe-db-engine-versions. + type: string + id: + description: DB Instance Identifier and IAM Role ARN separated + by a comma (,) + type: string + roleArn: + description: Amazon Resource Name (ARN) of the IAM Role to associate + with the DB Instance. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_instances.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_instances.yaml new file mode 100644 index 000000000..4635909d7 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_instances.yaml @@ -0,0 +1,1309 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: instances.rds.aws.kubedb.com +spec: + group: rds.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: Instance + listKind: InstanceList + plural: instances + singular: instance + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Instance is the Schema for the Instances API. Provides an RDS + instance resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: InstanceSpec defines the desired state of Instance + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + allocatedStorage: + description: The allocated storage in gibibytes. If max_allocated_storage + is configured, this argument represents the initial storage + allocation and differences from the configuration will be ignored + automatically when Storage Autoscaling occurs. If replicate_source_db + is set, the value is ignored during the creation of the instance. + type: number + allowMajorVersionUpgrade: + description: Indicates that major version upgrades are allowed. + Changing this parameter does not result in an outage and the + change is asynchronously applied as soon as possible. + type: boolean + applyImmediately: + description: Specifies whether any database modifications are + applied immediately, or during the next maintenance window. + Default is false. See Amazon RDS Documentation for more information. + type: boolean + autoGeneratePassword: + description: Password for the master DB user. Note that this may + show up in logs, and it will be stored in the state file. Cannot + be set if manage_master_user_password is set to true. If true, + the password will be auto-generated and stored in the Secret + referenced by the passwordSecretRef field. + type: boolean + autoMinorVersionUpgrade: + description: Indicates that minor engine upgrades will be applied + automatically to the DB instance during the maintenance window. + Defaults to true. + type: boolean + availabilityZone: + description: The AZ for the RDS instance. + type: string + backupRetentionPeriod: + description: The days to retain backups for. Must be between 0 + and 35. Default is 0. Must be greater than 0 if the database + is used as a source for a Read Replica, uses low-downtime updates, + or will use RDS Blue/Green deployments. + type: number + backupWindow: + description: 'The daily time range (in UTC) during which automated + backups are created if they are enabled. Example: "09:46-10:16". + Must not overlap with maintenance_window.' + type: string + blueGreenUpdate: + description: Enables low-downtime updates using RDS Blue/Green + deployments. See blue_green_update below + items: + properties: + enabled: + description: Enables [low-downtime updates](#Low-Downtime + Updates) when true. Default is false. + type: boolean + type: object + type: array + caCertIdentifier: + description: The identifier of the CA certificate for the DB instance. + type: string + characterSetName: + description: The character set name to use for DB encoding in + Oracle and Microsoft SQL instances (collation). This can't be + changed. See Oracle Character Sets Supported in Amazon RDS or + Server-Level Collation for Microsoft SQL Server for more information. + type: string + copyTagsToSnapshot: + description: – Copy all Instance tags to snapshots. Default is + false. + type: boolean + customIamInstanceProfile: + description: The instance profile associated with the underlying + Amazon EC2 instance of an RDS Custom DB instance. + type: string + customerOwnedIpEnabled: + description: Indicates whether to enable a customer-owned IP address + (CoIP) for an RDS on Outposts DB instance. See CoIP for RDS + on Outposts for more information. + type: boolean + dbName: + description: The name of the database to create when the DB instance + is created. If this parameter is not specified, no database + is created in the DB instance. Note that this does not apply + for Oracle or SQL Server engines. See the AWS documentation + for more details on what applies for those engines. If you are + providing an Oracle db name, it needs to be in all upper case. + Cannot be specified for a replica. + type: string + dbSubnetGroupName: + description: Name of DB subnet group. DB instance will be created + in the VPC associated with the DB subnet group. If unspecified, + will be created in the default VPC, or in EC2 Classic, if available. + When working with read replicas, it should be specified only + if the source database specifies an instance in another AWS + Region. See DBSubnetGroupName in API action CreateDBInstanceReadReplica + for additional read replica contraints. + type: string + dbSubnetGroupNameRef: + description: Reference to a SubnetGroup to populate dbSubnetGroupName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + dbSubnetGroupNameSelector: + description: Selector for a SubnetGroup to populate dbSubnetGroupName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + deleteAutomatedBackups: + description: Specifies whether to remove automated backups immediately + after the DB instance is deleted. Default is true. + type: boolean + deletionProtection: + description: If the DB instance should have deletion protection + enabled. The database can't be deleted when this value is set + to true. The default is false. + type: boolean + domain: + description: The ID of the Directory Service Active Directory + domain to create the instance in. + type: string + domainIamRoleName: + description: The name of the IAM role to be used when making API + calls to the Directory Service. + type: string + enabledCloudwatchLogsExports: + description: 'Set of log types to enable for exporting to CloudWatch + logs. If omitted, no logs will be exported. Valid values (depending + on engine). MySQL and MariaDB: audit, error, general, slowquery. + PostgreSQL: postgresql, upgrade. MSSQL: agent , error. Oracle: + alert, audit, listener, trace.' + items: + type: string + type: array + engine: + description: The database engine to use. For supported values, + see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). + Note that for Amazon Aurora instances the engine must match + the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s + engine'. For information on the difference between the available + Aurora MySQL engines see Comparison in the [Amazon RDS Release + Notes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html). + type: string + engineVersion: + description: The engine version to use. If `autoMinorVersionUpgrade` + is enabled, you can provide a prefix of the version such as + 5.7 (for 5.7.10). The actual engine version used is returned + in the attribute `status.atProvider.engineVersionActual`. For + supported values, see the EngineVersion parameter in [API action + CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). + Note that for Amazon Aurora instances the engine version must + match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s + engine version'. + type: string + finalSnapshotIdentifier: + description: The name of your final DB snapshot when this DB instance + is deleted. Must be provided if skip_final_snapshot is set to + false. The value must begin with a letter, only contain alphanumeric + characters and hyphens, and not end with a hyphen or contain + two consecutive hyphens. Must not be provided when deleting + a read replica. + type: string + iamDatabaseAuthenticationEnabled: + description: Specifies whether mappings of AWS Identity and Access + Management (IAM) accounts to database accounts is enabled. + type: boolean + instanceClass: + description: The instance type of the RDS instance. + type: string + iops: + description: The amount of provisioned IOPS. Setting this implies + a storage_type of "io1". Can only be set when storage_type is + "io1" or "gp3". Cannot be specified for gp3 storage if the allocated_storage + value is below a per-engine threshold. See the RDS User Guide + for details. + type: number + kmsKeyId: + description: The ARN for the KMS encryption key. If creating an + encrypted replica, set this to the destination KMS ARN. + type: string + kmsKeyIdRef: + description: Reference to a Key in kms to populate kmsKeyId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + kmsKeyIdSelector: + description: Selector for a Key in kms to populate kmsKeyId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + licenseModel: + description: License model information for this DB instance. + type: string + maintenanceWindow: + description: 'The window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi". + Eg: "Mon:00:00-Mon:03:00". See RDS Maintenance Window docs for + more information.' + type: string + manageMasterUserPassword: + description: Set to true to allow RDS to manage the master user + password in Secrets Manager. Cannot be set if password is provided. + type: boolean + masterUserSecretKmsKeyId: + description: The Amazon Web Services KMS key identifier is the + key ARN, key ID, alias ARN, or alias name for the KMS key. To + use a KMS key in a different Amazon Web Services account, specify + the key ARN or alias ARN. If not specified, the default KMS + key for your Amazon Web Services account is used. + type: string + maxAllocatedStorage: + description: When configured, the upper limit to which Amazon + RDS can automatically scale the storage of the DB instance. + Configuring this will automatically ignore differences to allocated_storage. + Must be greater than or equal to allocated_storage or 0 to disable + Storage Autoscaling. + type: number + monitoringInterval: + description: 'The interval, in seconds, between points when Enhanced + Monitoring metrics are collected for the DB instance. To disable + collecting Enhanced Monitoring metrics, specify 0. The default + is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.' + type: number + monitoringRoleArn: + description: The ARN for the IAM role that permits RDS to send + enhanced monitoring metrics to CloudWatch Logs. You can find + more information on the AWS Documentation what IAM permissions + are needed to allow Enhanced Monitoring for RDS Instances. + type: string + multiAz: + description: Specifies if the RDS instance is multi-AZ + type: boolean + ncharCharacterSetName: + description: The national character set is used in the NCHAR, + NVARCHAR2, and NCLOB data types for Oracle instances. This can't + be changed. See Oracle Character Sets Supported in Amazon RDS. + type: string + networkType: + description: 'The network type of the DB instance. Valid values: + IPV4, DUAL.' + type: string + optionGroupName: + description: Name of the DB option group to associate. + type: string + parameterGroupName: + description: Name of the DB parameter group to associate. + type: string + passwordSecretRef: + description: Password for the master DB user. Note that this may + show up in logs, and it will be stored in the state file. Cannot + be set if manage_master_user_password is set to true. Password + for the master DB user. If you set autoGeneratePassword to true, + the Secret referenced here will be created or updated with generated + password if it does not already contain one. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + performanceInsightsEnabled: + description: Specifies whether Performance Insights are enabled. + Defaults to false. + type: boolean + performanceInsightsKmsKeyId: + description: The ARN for the KMS key to encrypt Performance Insights + data. When specifying performance_insights_kms_key_id, performance_insights_enabled + needs to be set to true. Once KMS key is set, it can never be + changed. + type: string + performanceInsightsRetentionPeriod: + description: Amount of time in days to retain Performance Insights + data. Valid values are 7, 731 (2 years) or a multiple of 31. + When specifying performance_insights_retention_period, performance_insights_enabled + needs to be set to true. Defaults to '7'. + type: number + port: + description: The port on which the DB accepts connections. + type: number + publiclyAccessible: + description: Bool to control if instance is publicly accessible. + Default is false. + type: boolean + region: + description: Region is the region you'd like your resource to + be created in. + type: string + replicaMode: + description: Specifies whether the replica is in either mounted + or open-read-only mode. This attribute is only supported by + Oracle instances. Oracle replicas operate in open-read-only + mode unless otherwise specified. See Working with Oracle Read + Replicas for more information. + type: string + replicateSourceDb: + description: Specifies that this resource is a Replicate database, + and to use this value as the source database. This correlates + to the identifier of another Amazon RDS Database to replicate + (if replicating within a single region) or ARN of the Amazon + RDS Database to replicate (if replicating cross-region). Note + that if you are creating a cross-region replica of an encrypted + database you will also need to specify a kms_key_id. See DB + Instance Replication and Working with PostgreSQL and MySQL Read + Replicas for more information on using Replication. + type: string + restoreToPointInTime: + description: A configuration block for restoring a DB instance + to an arbitrary point in time. Requires the identifier argument + to be set with the name of the new DB instance to be created. + See Restore To Point In Time below for details. + items: + properties: + restoreTime: + description: The date and time to restore from. Value must + be a time in Universal Coordinated Time (UTC) format and + must be before the latest restorable time for the DB instance. + Cannot be specified with use_latest_restorable_time. + type: string + sourceDbInstanceAutomatedBackupsArn: + description: The ARN of the automated backup from which + to restore. Required if source_db_instance_identifier + or source_dbi_resource_id is not specified. + type: string + sourceDbInstanceIdentifier: + description: The identifier of the source DB instance from + which to restore. Must match the identifier of an existing + DB instance. Required if source_db_instance_automated_backups_arn + or source_dbi_resource_id is not specified. + type: string + sourceDbiResourceId: + description: The resource ID of the source DB instance from + which to restore. Required if source_db_instance_identifier + or source_db_instance_automated_backups_arn is not specified. + type: string + useLatestRestorableTime: + description: A boolean value that indicates whether the + DB instance is restored from the latest backup time. Defaults + to false. Cannot be specified with restore_time. + type: boolean + type: object + type: array + s3Import: + description: Restore from a Percona Xtrabackup in S3. See Importing + Data into an Amazon RDS MySQL DB Instance + items: + properties: + bucketName: + description: The bucket name where your backup is stored + type: string + bucketPrefix: + description: Can be blank, but is the path to your backup + type: string + ingestionRole: + description: Role applied to load the data. + type: string + sourceEngine: + description: Source engine for the backup + type: string + sourceEngineVersion: + description: Version of the source engine used to make the + backup + type: string + required: + - bucketName + - ingestionRole + - sourceEngine + - sourceEngineVersion + type: object + type: array + skipFinalSnapshot: + description: Determines whether a final DB snapshot is created + before the DB instance is deleted. If true is specified, no + DBSnapshot is created. If false is specified, a DB snapshot + is created before the DB instance is deleted, using the value + from final_snapshot_identifier. Default is false. + type: boolean + snapshotIdentifier: + description: 'Specifies whether or not to create this database + from a snapshot. This correlates to the snapshot ID you''d find + in the RDS console, e.g: rds:production-2015-06-26-06-05.' + type: string + storageEncrypted: + description: Specifies whether the DB instance is encrypted. Note + that if you are creating a cross-region read replica this field + is ignored and you should instead declare kms_key_id with a + valid ARN. The default is false if not specified. + type: boolean + storageThroughput: + description: The storage throughput value for the DB instance. + Can only be set when storage_type is "gp3". Cannot be specified + if the allocated_storage value is below a per-engine threshold. + See the RDS User Guide for details. + type: number + storageType: + description: One of "standard" (magnetic), "gp2" (general purpose + SSD), "gp3" (general purpose SSD that needs iops independently) + or "io1" (provisioned IOPS SSD). The default is "io1" if iops + is specified, "gp2" if not. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + timezone: + description: Time zone of the DB instance. timezone is currently + only supported by Microsoft SQL Server. The timezone can only + be set on creation. See MSSQL User Guide for more information. + type: string + username: + description: Username for the master DB user. Cannot be specified + for a replica. + type: string + vpcSecurityGroupIds: + description: List of VPC security groups to associate. + items: + type: string + type: array + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: instanceClass is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.instanceClass) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: InstanceStatus defines the observed state of Instance. + properties: + atProvider: + properties: + address: + description: The hostname of the RDS instance. See also endpoint + and port. + type: string + allocatedStorage: + description: The allocated storage in gibibytes. If max_allocated_storage + is configured, this argument represents the initial storage + allocation and differences from the configuration will be ignored + automatically when Storage Autoscaling occurs. If replicate_source_db + is set, the value is ignored during the creation of the instance. + type: number + allowMajorVersionUpgrade: + description: Indicates that major version upgrades are allowed. + Changing this parameter does not result in an outage and the + change is asynchronously applied as soon as possible. + type: boolean + applyImmediately: + description: Specifies whether any database modifications are + applied immediately, or during the next maintenance window. + Default is false. See Amazon RDS Documentation for more information. + type: boolean + arn: + description: The ARN of the RDS instance. + type: string + autoMinorVersionUpgrade: + description: Indicates that minor engine upgrades will be applied + automatically to the DB instance during the maintenance window. + Defaults to true. + type: boolean + availabilityZone: + description: The AZ for the RDS instance. + type: string + backupRetentionPeriod: + description: The days to retain backups for. Must be between 0 + and 35. Default is 0. Must be greater than 0 if the database + is used as a source for a Read Replica, uses low-downtime updates, + or will use RDS Blue/Green deployments. + type: number + backupWindow: + description: 'The daily time range (in UTC) during which automated + backups are created if they are enabled. Example: "09:46-10:16". + Must not overlap with maintenance_window.' + type: string + blueGreenUpdate: + description: Enables low-downtime updates using RDS Blue/Green + deployments. See blue_green_update below + items: + properties: + enabled: + description: Enables [low-downtime updates](#Low-Downtime + Updates) when true. Default is false. + type: boolean + type: object + type: array + caCertIdentifier: + description: The identifier of the CA certificate for the DB instance. + type: string + characterSetName: + description: The character set name to use for DB encoding in + Oracle and Microsoft SQL instances (collation). This can't be + changed. See Oracle Character Sets Supported in Amazon RDS or + Server-Level Collation for Microsoft SQL Server for more information. + type: string + copyTagsToSnapshot: + description: – Copy all Instance tags to snapshots. Default is + false. + type: boolean + customIamInstanceProfile: + description: The instance profile associated with the underlying + Amazon EC2 instance of an RDS Custom DB instance. + type: string + customerOwnedIpEnabled: + description: Indicates whether to enable a customer-owned IP address + (CoIP) for an RDS on Outposts DB instance. See CoIP for RDS + on Outposts for more information. + type: boolean + dbName: + description: The name of the database to create when the DB instance + is created. If this parameter is not specified, no database + is created in the DB instance. Note that this does not apply + for Oracle or SQL Server engines. See the AWS documentation + for more details on what applies for those engines. If you are + providing an Oracle db name, it needs to be in all upper case. + Cannot be specified for a replica. + type: string + dbSubnetGroupName: + description: Name of DB subnet group. DB instance will be created + in the VPC associated with the DB subnet group. If unspecified, + will be created in the default VPC, or in EC2 Classic, if available. + When working with read replicas, it should be specified only + if the source database specifies an instance in another AWS + Region. See DBSubnetGroupName in API action CreateDBInstanceReadReplica + for additional read replica contraints. + type: string + deleteAutomatedBackups: + description: Specifies whether to remove automated backups immediately + after the DB instance is deleted. Default is true. + type: boolean + deletionProtection: + description: If the DB instance should have deletion protection + enabled. The database can't be deleted when this value is set + to true. The default is false. + type: boolean + domain: + description: The ID of the Directory Service Active Directory + domain to create the instance in. + type: string + domainIamRoleName: + description: The name of the IAM role to be used when making API + calls to the Directory Service. + type: string + enabledCloudwatchLogsExports: + description: 'Set of log types to enable for exporting to CloudWatch + logs. If omitted, no logs will be exported. Valid values (depending + on engine). MySQL and MariaDB: audit, error, general, slowquery. + PostgreSQL: postgresql, upgrade. MSSQL: agent , error. Oracle: + alert, audit, listener, trace.' + items: + type: string + type: array + endpoint: + description: The connection endpoint in address:port format. + type: string + engine: + description: The database engine to use. For supported values, + see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). + Note that for Amazon Aurora instances the engine must match + the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s + engine'. For information on the difference between the available + Aurora MySQL engines see Comparison in the [Amazon RDS Release + Notes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html). + type: string + engineVersion: + description: The engine version to use. If `autoMinorVersionUpgrade` + is enabled, you can provide a prefix of the version such as + 5.7 (for 5.7.10). The actual engine version used is returned + in the attribute `status.atProvider.engineVersionActual`. For + supported values, see the EngineVersion parameter in [API action + CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). + Note that for Amazon Aurora instances the engine version must + match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s + engine version'. + type: string + engineVersionActual: + description: The running version of the database. + type: string + finalSnapshotIdentifier: + description: The name of your final DB snapshot when this DB instance + is deleted. Must be provided if skip_final_snapshot is set to + false. The value must begin with a letter, only contain alphanumeric + characters and hyphens, and not end with a hyphen or contain + two consecutive hyphens. Must not be provided when deleting + a read replica. + type: string + hostedZoneId: + description: The canonical hosted zone ID of the DB instance (to + be used in a Route 53 Alias record). + type: string + iamDatabaseAuthenticationEnabled: + description: Specifies whether mappings of AWS Identity and Access + Management (IAM) accounts to database accounts is enabled. + type: boolean + id: + description: RDS DBI resource ID. + type: string + instanceClass: + description: The instance type of the RDS instance. + type: string + iops: + description: The amount of provisioned IOPS. Setting this implies + a storage_type of "io1". Can only be set when storage_type is + "io1" or "gp3". Cannot be specified for gp3 storage if the allocated_storage + value is below a per-engine threshold. See the RDS User Guide + for details. + type: number + kmsKeyId: + description: The ARN for the KMS encryption key. If creating an + encrypted replica, set this to the destination KMS ARN. + type: string + latestRestorableTime: + description: The latest time, in UTC RFC3339 format, to which + a database can be restored with point-in-time restore. + type: string + licenseModel: + description: License model information for this DB instance. + type: string + listenerEndpoint: + description: Specifies the listener connection endpoint for SQL + Server Always On. See endpoint below. + items: + properties: + address: + description: The hostname of the RDS instance. See also + endpoint and port. + type: string + hostedZoneId: + description: The canonical hosted zone ID of the DB instance + (to be used in a Route 53 Alias record). + type: string + port: + description: The port on which the DB accepts connections. + type: number + type: object + type: array + maintenanceWindow: + description: 'The window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi". + Eg: "Mon:00:00-Mon:03:00". See RDS Maintenance Window docs for + more information.' + type: string + manageMasterUserPassword: + description: Set to true to allow RDS to manage the master user + password in Secrets Manager. Cannot be set if password is provided. + type: boolean + masterUserSecret: + description: A block that specifies the master user secret. Only + available when manage_master_user_password is set to true. Documented + below. + items: + properties: + kmsKeyId: + description: The Amazon Web Services KMS key identifier + that is used to encrypt the secret. + type: string + secretArn: + description: The Amazon Resource Name (ARN) of the secret. + type: string + secretStatus: + description: 'The status of the secret. Valid Values: creating + | active | rotating | impaired.' + type: string + type: object + type: array + masterUserSecretKmsKeyId: + description: The Amazon Web Services KMS key identifier is the + key ARN, key ID, alias ARN, or alias name for the KMS key. To + use a KMS key in a different Amazon Web Services account, specify + the key ARN or alias ARN. If not specified, the default KMS + key for your Amazon Web Services account is used. + type: string + maxAllocatedStorage: + description: When configured, the upper limit to which Amazon + RDS can automatically scale the storage of the DB instance. + Configuring this will automatically ignore differences to allocated_storage. + Must be greater than or equal to allocated_storage or 0 to disable + Storage Autoscaling. + type: number + monitoringInterval: + description: 'The interval, in seconds, between points when Enhanced + Monitoring metrics are collected for the DB instance. To disable + collecting Enhanced Monitoring metrics, specify 0. The default + is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.' + type: number + monitoringRoleArn: + description: The ARN for the IAM role that permits RDS to send + enhanced monitoring metrics to CloudWatch Logs. You can find + more information on the AWS Documentation what IAM permissions + are needed to allow Enhanced Monitoring for RDS Instances. + type: string + multiAz: + description: Specifies if the RDS instance is multi-AZ + type: boolean + ncharCharacterSetName: + description: The national character set is used in the NCHAR, + NVARCHAR2, and NCLOB data types for Oracle instances. This can't + be changed. See Oracle Character Sets Supported in Amazon RDS. + type: string + networkType: + description: 'The network type of the DB instance. Valid values: + IPV4, DUAL.' + type: string + optionGroupName: + description: Name of the DB option group to associate. + type: string + parameterGroupName: + description: Name of the DB parameter group to associate. + type: string + performanceInsightsEnabled: + description: Specifies whether Performance Insights are enabled. + Defaults to false. + type: boolean + performanceInsightsKmsKeyId: + description: The ARN for the KMS key to encrypt Performance Insights + data. When specifying performance_insights_kms_key_id, performance_insights_enabled + needs to be set to true. Once KMS key is set, it can never be + changed. + type: string + performanceInsightsRetentionPeriod: + description: Amount of time in days to retain Performance Insights + data. Valid values are 7, 731 (2 years) or a multiple of 31. + When specifying performance_insights_retention_period, performance_insights_enabled + needs to be set to true. Defaults to '7'. + type: number + port: + description: The port on which the DB accepts connections. + type: number + publiclyAccessible: + description: Bool to control if instance is publicly accessible. + Default is false. + type: boolean + replicaMode: + description: Specifies whether the replica is in either mounted + or open-read-only mode. This attribute is only supported by + Oracle instances. Oracle replicas operate in open-read-only + mode unless otherwise specified. See Working with Oracle Read + Replicas for more information. + type: string + replicas: + items: + type: string + type: array + replicateSourceDb: + description: Specifies that this resource is a Replicate database, + and to use this value as the source database. This correlates + to the identifier of another Amazon RDS Database to replicate + (if replicating within a single region) or ARN of the Amazon + RDS Database to replicate (if replicating cross-region). Note + that if you are creating a cross-region replica of an encrypted + database you will also need to specify a kms_key_id. See DB + Instance Replication and Working with PostgreSQL and MySQL Read + Replicas for more information on using Replication. + type: string + resourceId: + description: The RDS Resource ID of this instance. + type: string + restoreToPointInTime: + description: A configuration block for restoring a DB instance + to an arbitrary point in time. Requires the identifier argument + to be set with the name of the new DB instance to be created. + See Restore To Point In Time below for details. + items: + properties: + restoreTime: + description: The date and time to restore from. Value must + be a time in Universal Coordinated Time (UTC) format and + must be before the latest restorable time for the DB instance. + Cannot be specified with use_latest_restorable_time. + type: string + sourceDbInstanceAutomatedBackupsArn: + description: The ARN of the automated backup from which + to restore. Required if source_db_instance_identifier + or source_dbi_resource_id is not specified. + type: string + sourceDbInstanceIdentifier: + description: The identifier of the source DB instance from + which to restore. Must match the identifier of an existing + DB instance. Required if source_db_instance_automated_backups_arn + or source_dbi_resource_id is not specified. + type: string + sourceDbiResourceId: + description: The resource ID of the source DB instance from + which to restore. Required if source_db_instance_identifier + or source_db_instance_automated_backups_arn is not specified. + type: string + useLatestRestorableTime: + description: A boolean value that indicates whether the + DB instance is restored from the latest backup time. Defaults + to false. Cannot be specified with restore_time. + type: boolean + type: object + type: array + s3Import: + description: Restore from a Percona Xtrabackup in S3. See Importing + Data into an Amazon RDS MySQL DB Instance + items: + properties: + bucketName: + description: The bucket name where your backup is stored + type: string + bucketPrefix: + description: Can be blank, but is the path to your backup + type: string + ingestionRole: + description: Role applied to load the data. + type: string + sourceEngine: + description: Source engine for the backup + type: string + sourceEngineVersion: + description: Version of the source engine used to make the + backup + type: string + type: object + type: array + skipFinalSnapshot: + description: Determines whether a final DB snapshot is created + before the DB instance is deleted. If true is specified, no + DBSnapshot is created. If false is specified, a DB snapshot + is created before the DB instance is deleted, using the value + from final_snapshot_identifier. Default is false. + type: boolean + snapshotIdentifier: + description: 'Specifies whether or not to create this database + from a snapshot. This correlates to the snapshot ID you''d find + in the RDS console, e.g: rds:production-2015-06-26-06-05.' + type: string + status: + description: The RDS instance status. + type: string + storageEncrypted: + description: Specifies whether the DB instance is encrypted. Note + that if you are creating a cross-region read replica this field + is ignored and you should instead declare kms_key_id with a + valid ARN. The default is false if not specified. + type: boolean + storageThroughput: + description: The storage throughput value for the DB instance. + Can only be set when storage_type is "gp3". Cannot be specified + if the allocated_storage value is below a per-engine threshold. + See the RDS User Guide for details. + type: number + storageType: + description: One of "standard" (magnetic), "gp2" (general purpose + SSD), "gp3" (general purpose SSD that needs iops independently) + or "io1" (provisioned IOPS SSD). The default is "io1" if iops + is specified, "gp2" if not. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + timezone: + description: Time zone of the DB instance. timezone is currently + only supported by Microsoft SQL Server. The timezone can only + be set on creation. See MSSQL User Guide for more information. + type: string + username: + description: Username for the master DB user. Cannot be specified + for a replica. + type: string + vpcSecurityGroupIds: + description: List of VPC security groups to associate. + items: + type: string + type: array + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_optiongroups.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_optiongroups.yaml new file mode 100644 index 000000000..7423fda80 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_optiongroups.yaml @@ -0,0 +1,457 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: optiongroups.rds.aws.kubedb.com +spec: + group: rds.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: OptionGroup + listKind: OptionGroupList + plural: optiongroups + singular: optiongroup + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: OptionGroup is the Schema for the OptionGroups API. Provides + an RDS DB option group resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: OptionGroupSpec defines the desired state of OptionGroup + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + engineName: + description: Specifies the name of the engine that this option + group should be associated with. + type: string + majorEngineVersion: + description: Specifies the major version of the engine that this + option group should be associated with. + type: string + option: + description: A list of Options to apply. + items: + properties: + dbSecurityGroupMemberships: + description: A list of DB Security Groups for which the + option is enabled. + items: + type: string + type: array + optionName: + description: The Name of the Option (e.g., MEMCACHED). + type: string + optionSettings: + description: A list of option settings to apply. + items: + properties: + name: + description: The name of the option group. Must be + lowercase, to match as it is stored in AWS. + type: string + value: + description: The Value of the setting. + type: string + required: + - name + - value + type: object + type: array + port: + description: The Port number when connecting to the Option + (e.g., 11211). + type: number + version: + description: The version of the option (e.g., 13.1.0.0). + type: string + vpcSecurityGroupMemberships: + description: A list of VPC Security Groups for which the + option is enabled. + items: + type: string + type: array + required: + - optionName + type: object + type: array + optionGroupDescription: + description: The description of the option group. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: engineName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.engineName) + - message: majorEngineVersion is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.majorEngineVersion) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: OptionGroupStatus defines the observed state of OptionGroup. + properties: + atProvider: + properties: + arn: + description: The ARN of the db option group. + type: string + engineName: + description: Specifies the name of the engine that this option + group should be associated with. + type: string + id: + description: The db option group name. + type: string + majorEngineVersion: + description: Specifies the major version of the engine that this + option group should be associated with. + type: string + option: + description: A list of Options to apply. + items: + properties: + dbSecurityGroupMemberships: + description: A list of DB Security Groups for which the + option is enabled. + items: + type: string + type: array + optionName: + description: The Name of the Option (e.g., MEMCACHED). + type: string + optionSettings: + description: A list of option settings to apply. + items: + properties: + name: + description: The name of the option group. Must be + lowercase, to match as it is stored in AWS. + type: string + value: + description: The Value of the setting. + type: string + type: object + type: array + port: + description: The Port number when connecting to the Option + (e.g., 11211). + type: number + version: + description: The version of the option (e.g., 13.1.0.0). + type: string + vpcSecurityGroupMemberships: + description: A list of VPC Security Groups for which the + option is enabled. + items: + type: string + type: array + type: object + type: array + optionGroupDescription: + description: The description of the option group. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_parametergroups.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_parametergroups.yaml new file mode 100644 index 000000000..57742d017 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_parametergroups.yaml @@ -0,0 +1,401 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: parametergroups.rds.aws.kubedb.com +spec: + group: rds.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: ParameterGroup + listKind: ParameterGroupList + plural: parametergroups + singular: parametergroup + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ParameterGroup is the Schema for the ParameterGroups API. Provides + an RDS DB parameter group resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ParameterGroupSpec defines the desired state of ParameterGroup + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: The description of the DB parameter group. + type: string + family: + description: The family of the DB parameter group. + type: string + parameter: + description: A list of DB parameters to apply. Note that parameters + may differ from a family to an other. Full list of all parameters + can be discovered via aws rds describe-db-parameters after initial + creation of the group. + items: + properties: + applyMethod: + description: '"immediate" (default), or "pending-reboot". + Some engines can''t apply some parameters without a reboot, + and you will need to specify "pending-reboot" here.' + type: string + name: + description: The name of the DB parameter group. + type: string + value: + description: The value of the DB parameter. + type: string + required: + - name + - value + type: object + type: array + region: + description: Region is the region you'd like your resource to + be created in. + type: string + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: family is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.family) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: ParameterGroupStatus defines the observed state of ParameterGroup. + properties: + atProvider: + properties: + arn: + description: The ARN of the db parameter group. + type: string + description: + description: The description of the DB parameter group. + type: string + family: + description: The family of the DB parameter group. + type: string + id: + description: The db parameter group name. + type: string + parameter: + description: A list of DB parameters to apply. Note that parameters + may differ from a family to an other. Full list of all parameters + can be discovered via aws rds describe-db-parameters after initial + creation of the group. + items: + properties: + applyMethod: + description: '"immediate" (default), or "pending-reboot". + Some engines can''t apply some parameters without a reboot, + and you will need to specify "pending-reboot" here.' + type: string + name: + description: The name of the DB parameter group. + type: string + value: + description: The value of the DB parameter. + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxies.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxies.yaml new file mode 100644 index 000000000..4e8c662cd --- /dev/null +++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxies.yaml @@ -0,0 +1,521 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: proxies.rds.aws.kubedb.com +spec: + group: rds.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: Proxy + listKind: ProxyList + plural: proxies + singular: proxy + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Proxy is the Schema for the Proxys API. Provides an RDS DB proxy + resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ProxySpec defines the desired state of Proxy + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + auth: + description: Configuration block(s) with authorization mechanisms + to connect to the associated instances or clusters. Described + below. + items: + properties: + authScheme: + description: The type of authentication that the proxy uses + for connections from the proxy to the underlying database. + One of SECRETS. + type: string + clientPasswordAuthType: + description: The type of authentication the proxy uses for + connections from clients. Valid values are MYSQL_NATIVE_PASSWORD, + POSTGRES_SCRAM_SHA_256, POSTGRES_MD5, and SQL_SERVER_AUTHENTICATION. + type: string + description: + description: A user-specified description about the authentication + used by a proxy to log in as a specific database user. + type: string + iamAuth: + description: Whether to require or disallow AWS Identity + and Access Management (IAM) authentication for connections + to the proxy. One of DISABLED, REQUIRED. + type: string + secretArn: + description: The Amazon Resource Name (ARN) representing + the secret that the proxy uses to authenticate to the + RDS DB instance or Aurora DB cluster. These secrets are + stored within Amazon Secrets Manager. + type: string + username: + description: The name of the database user to which the + proxy connects. + type: string + type: object + type: array + debugLogging: + description: Whether the proxy includes detailed information about + SQL statements in its logs. This information helps you to debug + issues involving SQL behavior or the performance and scalability + of the proxy connections. The debug information includes the + text of SQL statements that you submit through the proxy. Thus, + only enable this setting when needed for debugging, and only + when you have security measures in place to safeguard any sensitive + information that appears in the logs. + type: boolean + engineFamily: + description: The kinds of databases that the proxy can connect + to. This value determines which database network protocol the + proxy recognizes when it interprets network traffic to and from + the database. The engine family applies to MySQL and PostgreSQL + for both RDS and Aurora. Valid values are MYSQL and POSTGRESQL. + type: string + idleClientTimeout: + description: The number of seconds that a connection to the proxy + can be inactive before the proxy disconnects it. You can set + this value higher or lower than the connection timeout limit + for the associated database. + type: number + region: + description: Region is the region you'd like your resource to + be created in. + type: string + requireTls: + description: A Boolean parameter that specifies whether Transport + Layer Security (TLS) encryption is required for connections + to the proxy. By enabling this setting, you can enforce encrypted + TLS connections to the proxy. + type: boolean + roleArn: + description: The Amazon Resource Name (ARN) of the IAM role that + the proxy uses to access secrets in AWS Secrets Manager. + type: string + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + vpcSecurityGroupIds: + description: One or more VPC security group IDs to associate with + the new proxy. + items: + type: string + type: array + vpcSubnetIds: + description: One or more VPC subnet IDs to associate with the + new proxy. + items: + type: string + type: array + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: auth is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.auth) + - message: engineFamily is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.engineFamily) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + - message: roleArn is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.roleArn) + - message: vpcSubnetIds is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.vpcSubnetIds) + status: + description: ProxyStatus defines the observed state of Proxy. + properties: + atProvider: + properties: + arn: + description: The Amazon Resource Name (ARN) for the proxy. + type: string + auth: + description: Configuration block(s) with authorization mechanisms + to connect to the associated instances or clusters. Described + below. + items: + properties: + authScheme: + description: The type of authentication that the proxy uses + for connections from the proxy to the underlying database. + One of SECRETS. + type: string + clientPasswordAuthType: + description: The type of authentication the proxy uses for + connections from clients. Valid values are MYSQL_NATIVE_PASSWORD, + POSTGRES_SCRAM_SHA_256, POSTGRES_MD5, and SQL_SERVER_AUTHENTICATION. + type: string + description: + description: A user-specified description about the authentication + used by a proxy to log in as a specific database user. + type: string + iamAuth: + description: Whether to require or disallow AWS Identity + and Access Management (IAM) authentication for connections + to the proxy. One of DISABLED, REQUIRED. + type: string + secretArn: + description: The Amazon Resource Name (ARN) representing + the secret that the proxy uses to authenticate to the + RDS DB instance or Aurora DB cluster. These secrets are + stored within Amazon Secrets Manager. + type: string + username: + description: The name of the database user to which the + proxy connects. + type: string + type: object + type: array + debugLogging: + description: Whether the proxy includes detailed information about + SQL statements in its logs. This information helps you to debug + issues involving SQL behavior or the performance and scalability + of the proxy connections. The debug information includes the + text of SQL statements that you submit through the proxy. Thus, + only enable this setting when needed for debugging, and only + when you have security measures in place to safeguard any sensitive + information that appears in the logs. + type: boolean + endpoint: + description: The endpoint that you can use to connect to the proxy. + You include the endpoint value in the connection string for + a database client application. + type: string + engineFamily: + description: The kinds of databases that the proxy can connect + to. This value determines which database network protocol the + proxy recognizes when it interprets network traffic to and from + the database. The engine family applies to MySQL and PostgreSQL + for both RDS and Aurora. Valid values are MYSQL and POSTGRESQL. + type: string + id: + description: The Amazon Resource Name (ARN) for the proxy. + type: string + idleClientTimeout: + description: The number of seconds that a connection to the proxy + can be inactive before the proxy disconnects it. You can set + this value higher or lower than the connection timeout limit + for the associated database. + type: number + requireTls: + description: A Boolean parameter that specifies whether Transport + Layer Security (TLS) encryption is required for connections + to the proxy. By enabling this setting, you can enforce encrypted + TLS connections to the proxy. + type: boolean + roleArn: + description: The Amazon Resource Name (ARN) of the IAM role that + the proxy uses to access secrets in AWS Secrets Manager. + type: string + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + vpcSecurityGroupIds: + description: One or more VPC security group IDs to associate with + the new proxy. + items: + type: string + type: array + vpcSubnetIds: + description: One or more VPC subnet IDs to associate with the + new proxy. + items: + type: string + type: array + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxydefaulttargetgroups.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxydefaulttargetgroups.yaml new file mode 100644 index 000000000..e15b48415 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxydefaulttargetgroups.yaml @@ -0,0 +1,434 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: proxydefaulttargetgroups.rds.aws.kubedb.com +spec: + group: rds.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: ProxyDefaultTargetGroup + listKind: ProxyDefaultTargetGroupList + plural: proxydefaulttargetgroups + singular: proxydefaulttargetgroup + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ProxyDefaultTargetGroup is the Schema for the ProxyDefaultTargetGroups + API. Manage an RDS DB proxy default target group resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ProxyDefaultTargetGroupSpec defines the desired state of + ProxyDefaultTargetGroup + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + connectionPoolConfig: + description: The settings that determine the size and behavior + of the connection pool for the target group. + items: + properties: + connectionBorrowTimeout: + description: The number of seconds for a proxy to wait for + a connection to become available in the connection pool. + Only applies when the proxy has opened its maximum number + of connections and all connections are busy with client + sessions. + type: number + initQuery: + description: One or more SQL statements for the proxy to + run when opening each new database connection. Typically + used with SET statements to make sure that each connection + has identical settings such as time zone and character + set. This setting is empty by default. For multiple statements, + use semicolons as the separator. You can also include + multiple variables in a single SET statement, such as + SET x=1, y=2. + type: string + maxConnectionsPercent: + description: The maximum size of the connection pool for + each target in a target group. For Aurora MySQL, it is + expressed as a percentage of the max_connections setting + for the RDS DB instance or Aurora DB cluster used by the + target group. + type: number + maxIdleConnectionsPercent: + description: Controls how actively the proxy closes idle + database connections in the connection pool. A high value + enables the proxy to leave a high percentage of idle connections + open. A low value causes the proxy to close idle client + connections and return the underlying database connections + to the connection pool. For Aurora MySQL, it is expressed + as a percentage of the max_connections setting for the + RDS DB instance or Aurora DB cluster used by the target + group. + type: number + sessionPinningFilters: + description: Each item in the list represents a class of + SQL operations that normally cause all later statements + in a session using a proxy to be pinned to the same underlying + database connection. Including an item in the list exempts + that class of SQL operations from the pinning behavior. + Currently, the only allowed value is EXCLUDE_VARIABLE_SETS. + items: + type: string + type: array + type: object + type: array + dbProxyName: + description: Name of the RDS DB Proxy. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: dbProxyName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.dbProxyName) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: ProxyDefaultTargetGroupStatus defines the observed state + of ProxyDefaultTargetGroup. + properties: + atProvider: + properties: + arn: + description: The Amazon Resource Name (ARN) representing the target + group. + type: string + connectionPoolConfig: + description: The settings that determine the size and behavior + of the connection pool for the target group. + items: + properties: + connectionBorrowTimeout: + description: The number of seconds for a proxy to wait for + a connection to become available in the connection pool. + Only applies when the proxy has opened its maximum number + of connections and all connections are busy with client + sessions. + type: number + initQuery: + description: One or more SQL statements for the proxy to + run when opening each new database connection. Typically + used with SET statements to make sure that each connection + has identical settings such as time zone and character + set. This setting is empty by default. For multiple statements, + use semicolons as the separator. You can also include + multiple variables in a single SET statement, such as + SET x=1, y=2. + type: string + maxConnectionsPercent: + description: The maximum size of the connection pool for + each target in a target group. For Aurora MySQL, it is + expressed as a percentage of the max_connections setting + for the RDS DB instance or Aurora DB cluster used by the + target group. + type: number + maxIdleConnectionsPercent: + description: Controls how actively the proxy closes idle + database connections in the connection pool. A high value + enables the proxy to leave a high percentage of idle connections + open. A low value causes the proxy to close idle client + connections and return the underlying database connections + to the connection pool. For Aurora MySQL, it is expressed + as a percentage of the max_connections setting for the + RDS DB instance or Aurora DB cluster used by the target + group. + type: number + sessionPinningFilters: + description: Each item in the list represents a class of + SQL operations that normally cause all later statements + in a session using a proxy to be pinned to the same underlying + database connection. Including an item in the list exempts + that class of SQL operations from the pinning behavior. + Currently, the only allowed value is EXCLUDE_VARIABLE_SETS. + items: + type: string + type: array + type: object + type: array + dbProxyName: + description: Name of the RDS DB Proxy. + type: string + id: + description: Name of the RDS DB Proxy. + type: string + name: + description: The name of the default target group. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxyendpoints.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxyendpoints.yaml new file mode 100644 index 000000000..727fa9129 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxyendpoints.yaml @@ -0,0 +1,393 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: proxyendpoints.rds.aws.kubedb.com +spec: + group: rds.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: ProxyEndpoint + listKind: ProxyEndpointList + plural: proxyendpoints + singular: proxyendpoint + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ProxyEndpoint is the Schema for the ProxyEndpoints API. Provides + an RDS DB proxy endpoint resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ProxyEndpointSpec defines the desired state of ProxyEndpoint + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + dbProxyName: + description: The name of the DB proxy associated with the DB proxy + endpoint that you create. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the resource. + type: object + tagsAll: + additionalProperties: + type: string + type: object + targetRole: + description: Indicates whether the DB proxy endpoint can be used + for read/write or read-only operations. The default is READ_WRITE. + Valid values are READ_WRITE and READ_ONLY. + type: string + vpcSecurityGroupIds: + description: One or more VPC security group IDs to associate with + the new proxy. + items: + type: string + type: array + vpcSubnetIds: + description: One or more VPC subnet IDs to associate with the + new proxy. + items: + type: string + type: array + required: + - dbProxyName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + - message: vpcSubnetIds is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.vpcSubnetIds) + status: + description: ProxyEndpointStatus defines the observed state of ProxyEndpoint. + properties: + atProvider: + properties: + arn: + description: The Amazon Resource Name (ARN) for the proxy endpoint. + type: string + dbProxyName: + description: The name of the DB proxy associated with the DB proxy + endpoint that you create. + type: string + endpoint: + description: The endpoint that you can use to connect to the proxy. + You include the endpoint value in the connection string for + a database client application. + type: string + id: + description: The name of the proxy and proxy endpoint separated + by /, DB-PROXY-NAME/DB-PROXY-ENDPOINT-NAME. + type: string + isDefault: + description: Indicates whether this endpoint is the default endpoint + for the associated DB proxy. + type: boolean + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the resource. + type: object + tagsAll: + additionalProperties: + type: string + type: object + targetRole: + description: Indicates whether the DB proxy endpoint can be used + for read/write or read-only operations. The default is READ_WRITE. + Valid values are READ_WRITE and READ_ONLY. + type: string + vpcId: + description: The VPC ID of the DB proxy endpoint. + type: string + vpcSecurityGroupIds: + description: One or more VPC security group IDs to associate with + the new proxy. + items: + type: string + type: array + vpcSubnetIds: + description: One or more VPC subnet IDs to associate with the + new proxy. + items: + type: string + type: array + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxytargets.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxytargets.yaml new file mode 100644 index 000000000..bff2fc106 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_proxytargets.yaml @@ -0,0 +1,367 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: proxytargets.rds.aws.kubedb.com +spec: + group: rds.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: ProxyTarget + listKind: ProxyTargetList + plural: proxytargets + singular: proxytarget + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ProxyTarget is the Schema for the ProxyTargets API. Provides + an RDS DB proxy target resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ProxyTargetSpec defines the desired state of ProxyTarget + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + dbClusterIdentifier: + description: DB cluster identifier. + type: string + dbInstanceIdentifier: + description: DB instance identifier. + type: string + dbProxyName: + description: The name of the DB proxy. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + targetGroupName: + description: The name of the target group. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: dbProxyName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.dbProxyName) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + - message: targetGroupName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.targetGroupName) + status: + description: ProxyTargetStatus defines the observed state of ProxyTarget. + properties: + atProvider: + properties: + dbClusterIdentifier: + description: DB cluster identifier. + type: string + dbInstanceIdentifier: + description: DB instance identifier. + type: string + dbProxyName: + description: The name of the DB proxy. + type: string + endpoint: + description: Hostname for the target RDS DB Instance. Only returned + for RDS_INSTANCE type. + type: string + id: + description: Identifier of db_proxy_name, target_group_name, + target type (e.g., RDS_INSTANCE or TRACKED_CLUSTER), and resource + identifier separated by forward slashes (/). + type: string + port: + description: Port for the target RDS DB Instance or Aurora DB + Cluster. + type: number + rdsResourceId: + description: Identifier representing the DB Instance or DB Cluster + target. + type: string + targetArn: + description: Amazon Resource Name (ARN) for the DB instance or + DB cluster. Currently not returned by the RDS API. + type: string + targetGroupName: + description: The name of the target group. + type: string + trackedClusterId: + description: DB Cluster identifier for the DB Instance target. + Not returned unless manually importing an RDS_INSTANCE target + that is part of a DB Cluster. + type: string + type: + description: Type of targetE.g., RDS_INSTANCE or TRACKED_CLUSTER + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_snapshots.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_snapshots.yaml new file mode 100644 index 000000000..6a3c6e0c1 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_snapshots.yaml @@ -0,0 +1,417 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: snapshots.rds.aws.kubedb.com +spec: + group: rds.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: Snapshot + listKind: SnapshotList + plural: snapshots + singular: snapshot + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Snapshot is the Schema for the Snapshots API. Manages an RDS + database instance snapshot. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SnapshotSpec defines the desired state of Snapshot + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + dbInstanceIdentifier: + description: The DB Instance Identifier from which to take the + snapshot. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + sharedAccounts: + description: List of AWS Account ids to share snapshot with, use + all to make snaphot public. + items: + type: string + type: array + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. If configured with + a provider default_tags configuration block present, tags with + matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: dbInstanceIdentifier is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.dbInstanceIdentifier) + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + status: + description: SnapshotStatus defines the observed state of Snapshot. + properties: + atProvider: + properties: + allocatedStorage: + description: Specifies the allocated storage size in gigabytes + (GB). + type: number + availabilityZone: + description: Specifies the name of the Availability Zone the DB + instance was located in at the time of the DB snapshot. + type: string + dbInstanceIdentifier: + description: The DB Instance Identifier from which to take the + snapshot. + type: string + dbSnapshotArn: + description: The Amazon Resource Name (ARN) for the DB snapshot. + type: string + encrypted: + description: Specifies whether the DB snapshot is encrypted. + type: boolean + engine: + description: Specifies the name of the database engine. + type: string + engineVersion: + description: Specifies the version of the database engine. + type: string + id: + type: string + iops: + description: Specifies the Provisioned IOPS (I/O operations per + second) value of the DB instance at the time of the snapshot. + type: number + kmsKeyId: + description: The ARN for the KMS encryption key. + type: string + licenseModel: + description: License model information for the restored DB instance. + type: string + optionGroupName: + description: Provides the option group name for the DB snapshot. + type: string + port: + type: number + sharedAccounts: + description: List of AWS Account ids to share snapshot with, use + all to make snaphot public. + items: + type: string + type: array + snapshotType: + type: string + sourceDbSnapshotIdentifier: + description: The DB snapshot Arn that the DB snapshot was copied + from. It only has value in case of cross customer or cross region + copy. + type: string + sourceRegion: + description: The region that the DB snapshot was created in or + copied from. + type: string + status: + description: Specifies the status of this DB snapshot. + type: string + storageType: + description: Specifies the storage type associated with DB snapshot. + type: string + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. If configured with + a provider default_tags configuration block present, tags with + matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + vpcId: + description: Provides the VPC ID associated with the DB snapshot. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_subnetgroups.yaml b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_subnetgroups.yaml new file mode 100644 index 000000000..8197cf8d9 --- /dev/null +++ b/charts/kubedb-provider-aws/crds/rds.aws.kubedb.com_subnetgroups.yaml @@ -0,0 +1,370 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: subnetgroups.rds.aws.kubedb.com +spec: + group: rds.aws.kubedb.com + names: + categories: + - crossplane + - managed + - aws + kind: SubnetGroup + listKind: SubnetGroupList + plural: subnetgroups + singular: subnetgroup + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: SubnetGroup is the Schema for the SubnetGroups API. Provides + an RDS DB subnet group resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SubnetGroupSpec defines the desired state of SubnetGroup + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: The description of the DB subnet group. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + subnetIds: + description: A list of VPC subnet IDs. + items: + type: string + type: array + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: region is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region) + - message: subnetIds is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.subnetIds) + status: + description: SubnetGroupStatus defines the observed state of SubnetGroup. + properties: + atProvider: + properties: + arn: + description: The ARN of the db subnet group. + type: string + description: + description: The description of the DB subnet group. + type: string + id: + description: The db subnet group name. + type: string + subnetIds: + description: A list of VPC subnet IDs. + items: + type: string + type: array + supportedNetworkTypes: + description: The network type of the db subnet group. + items: + type: string + type: array + tags: + additionalProperties: + type: string + description: A map of tags to assign to the resource. If configured + with a provider default_tags configuration block present, tags + with matching keys will overwrite those defined at the provider-level. + type: object + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + vpcId: + description: Provides the VPC ID of the DB subnet group. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-aws/doc.yaml b/charts/kubedb-provider-aws/doc.yaml new file mode 100644 index 000000000..cf2da3321 --- /dev/null +++ b/charts/kubedb-provider-aws/doc.yaml @@ -0,0 +1,18 @@ +project: + name: KubeDB AWS Provider for Crossplane + shortName: KubeDB AWS Provider + url: https://github.com/kubedb/provider-aws + description: KubeDB AWS provider for Crossplane + app: a KubeDB AWS provider +repository: + url: https://charts.appscode.com/stable/ + name: appscode +chart: + name: kubedb-provider-aws + values: -- generate from values file -- + valuesExample: -- generate from values file -- +prerequisites: +- Kubernetes 1.21+ +release: + name: kubedb-provider-aws + namespace: crossplane-system \ No newline at end of file diff --git a/charts/kubedb-provider-aws/templates/NOTES.txt b/charts/kubedb-provider-aws/templates/NOTES.txt new file mode 100644 index 000000000..570632a2f --- /dev/null +++ b/charts/kubedb-provider-aws/templates/NOTES.txt @@ -0,0 +1,3 @@ +To verify that Supervisor has started, run: + + kubectl get deployment --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "kubedb-provider-aws.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" diff --git a/charts/kubedb-provider-aws/templates/_helpers.tpl b/charts/kubedb-provider-aws/templates/_helpers.tpl new file mode 100644 index 000000000..6e0da78f5 --- /dev/null +++ b/charts/kubedb-provider-aws/templates/_helpers.tpl @@ -0,0 +1,107 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "kubedb-provider-aws.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "kubedb-provider-aws.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "kubedb-provider-aws.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "kubedb-provider-aws.labels" -}} +helm.sh/chart: {{ include "kubedb-provider-aws.chart" . }} +{{ include "kubedb-provider-aws.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "kubedb-provider-aws.selectorLabels" -}} +app.kubernetes.io/name: {{ include "kubedb-provider-aws.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "kubedb-provider-aws.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "kubedb-provider-aws.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} + +{{/* +Returns the appscode license +*/}} +{{- define "appscode.license" -}} +{{- .Values.license }} +{{- end }} + +{{/* +Returns the registry used for operator docker image +*/}} +{{- define "image.registry" -}} +{{- list .Values.registryFQDN .Values.image.registry | compact | join "/" }} +{{- end }} + +{{- define "appscode.imagePullSecrets" -}} +{{- with .Values.imagePullSecrets -}} +imagePullSecrets: +{{- toYaml . | nindent 2 }} +{{- end }} +{{- end }} + +{{/* +Returns the enabled monitoring agent name +*/}} +{{- define "monitoring.agent" -}} +{{- .Values.monitoring.agent }} +{{- end }} + +{{/* +Returns whether the ServiceMonitor will be labeled with custom label +*/}} +{{- define "monitoring.apply-servicemonitor-label" -}} +{{- ternary "false" "true" ( empty .Values.monitoring.serviceMonitor.labels ) -}} +{{- end }} + +{{/* +Returns the ServiceMonitor labels +*/}} +{{- define "monitoring.servicemonitor-label" -}} +{{- range $key, $val := .Values.monitoring.serviceMonitor.labels }} +{{ $key }}: {{ $val }} +{{- end }} +{{- end }} diff --git a/charts/kubedb-provider-aws/templates/cluster-role-binding.yaml b/charts/kubedb-provider-aws/templates/cluster-role-binding.yaml new file mode 100644 index 000000000..c4c151d34 --- /dev/null +++ b/charts/kubedb-provider-aws/templates/cluster-role-binding.yaml @@ -0,0 +1,14 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ include "kubedb-provider-aws.fullname" . }} + labels: + {{- include "kubedb-provider-aws.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ include "kubedb-provider-aws.fullname" . }} +subjects: +- kind: ServiceAccount + name: {{ include "kubedb-provider-aws.fullname" . }} + namespace: {{ .Release.Namespace }} diff --git a/charts/kubedb-provider-aws/templates/cluster-role.yaml b/charts/kubedb-provider-aws/templates/cluster-role.yaml new file mode 100644 index 000000000..000bd78f3 --- /dev/null +++ b/charts/kubedb-provider-aws/templates/cluster-role.yaml @@ -0,0 +1,40 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ include "kubedb-provider-aws.fullname" . }} + labels: + {{- include "kubedb-provider-aws.labels" . | nindent 4 }} +rules: +- apiGroups: + - aws.kubedb.com + - docdb.aws.kubedb.com + - dynamodb.aws.kubedb.com + - ec2.aws.kubedb.com + - elasticache.aws.kubedb.com + - elasticsearch.aws.kubedb.com + - kafka.aws.kubedb.com + - kinesis.aws.kubedb.com + - kms.aws.kubedb.com + - memorydb.aws.kubedb.com + - rds.aws.kubedb.com + resources: ["*"] + verbs: ["*"] +- apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: ["*"] +- apiGroups: [""] + resources: + - nodes + - secrets + verbs: ["list","watch","get"] +- apiGroups: [""] + resources: + - serviceaccounts + verbs: ["create", "get", "patch", "list", "watch"] +- apiGroups: + - "" + resources: + - events + verbs: ["*"] \ No newline at end of file diff --git a/charts/kubedb-provider-aws/templates/deployment.yaml b/charts/kubedb-provider-aws/templates/deployment.yaml new file mode 100644 index 000000000..0b2cc6fad --- /dev/null +++ b/charts/kubedb-provider-aws/templates/deployment.yaml @@ -0,0 +1,68 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "kubedb-provider-aws.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kubedb-provider-aws.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + {{- include "kubedb-provider-aws.selectorLabels" . | nindent 6 }} + template: + metadata: + {{- with .Values.podAnnotations }} + annotations: + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "kubedb-provider-aws.selectorLabels" . | nindent 8 }} + spec: + {{- include "appscode.imagePullSecrets" . | nindent 6 }} + serviceAccountName: {{ include "kubedb-provider-aws.serviceAccountName" . }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + containers: + - name: {{ .Chart.Name }} + securityContext: + {{- toYaml .Values.image.securityContext | nindent 12 }} + image: {{ include "image.registry" . }}/{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }} + imagePullPolicy: {{ .Values.imagePullPolicy }} + args: + - --debug + ports: + - containerPort: 8080 + name: metrics + protocol: TCP + - containerPort: 9443 + name: webhook + protocol: TCP + # livenessProbe: + # httpGet: + # path: /healthz + # port: http + # readinessProbe: + # httpGet: + # path: /readyz + # port: http + resources: + {{- toYaml .Values.image.resources | nindent 12 }} + volumeMounts: + - name: tmp + mountPath: /tmp + volumes: + - name: tmp + emptyDir: {} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/charts/kubedb-provider-aws/templates/provider-config.yaml b/charts/kubedb-provider-aws/templates/provider-config.yaml new file mode 100644 index 000000000..66df9c404 --- /dev/null +++ b/charts/kubedb-provider-aws/templates/provider-config.yaml @@ -0,0 +1,11 @@ +apiVersion: aws.kubedb.com/v1beta1 +kind: ProviderConfig +metadata: + name: {{ include "kubedb-provider-aws.fullname" . }} +spec: + credentials: + source: Secret + secretRef: + namespace: capi-cluster + name: {{ .Values.aws.secretName }} + key: credential_json diff --git a/charts/kubedb-provider-aws/templates/service.yaml b/charts/kubedb-provider-aws/templates/service.yaml new file mode 100644 index 000000000..9c4794537 --- /dev/null +++ b/charts/kubedb-provider-aws/templates/service.yaml @@ -0,0 +1,25 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ include "kubedb-provider-aws.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kubedb-provider-aws.labels" . | nindent 4 }} +{{- if eq "prometheus.io/builtin" ( include "monitoring.agent" . ) }} + annotations: + prometheus.io/scrape: "true" + prometheus.io/path: "/metrics" + prometheus.io/port: "8443" + prometheus.io/scheme: "https" +{{- end }} +spec: + ports: + # Port used to expose admission webhook apiserver + - name: metrics + port: 8080 + targetPort: 8080 + - name: webhook + port: 443 + targetPort: 9443 + selector: + {{- include "kubedb-provider-aws.selectorLabels" . | nindent 4 }} diff --git a/charts/kubedb-provider-aws/templates/serviceaccount.yaml b/charts/kubedb-provider-aws/templates/serviceaccount.yaml new file mode 100644 index 000000000..3b1a19e41 --- /dev/null +++ b/charts/kubedb-provider-aws/templates/serviceaccount.yaml @@ -0,0 +1,13 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "kubedb-provider-aws.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kubedb-provider-aws.labels" . | nindent 4 }} + {{- with .Values.serviceAccount.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +{{- end }} diff --git a/charts/kubedb-provider-aws/templates/servicemonitor.yaml b/charts/kubedb-provider-aws/templates/servicemonitor.yaml new file mode 100644 index 000000000..14f4269bd --- /dev/null +++ b/charts/kubedb-provider-aws/templates/servicemonitor.yaml @@ -0,0 +1,30 @@ +{{- if eq "prometheus.io/operator" ( include "monitoring.agent" . ) }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ include "kubedb-provider-aws.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- if eq "true" ( include "monitoring.apply-servicemonitor-label" . ) }} + {{- include "monitoring.servicemonitor-label" . | nindent 4 }} + {{- else }} + {{- include "kubedb-provider-aws.selectorLabels" . | nindent 4 }} + {{- end }} +spec: + namespaceSelector: + matchNames: + - {{ .Release.Namespace }} + selector: + matchLabels: + {{- include "kubedb-provider-aws.selectorLabels" . | nindent 6 }} + endpoints: + - port: api + bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token + scheme: https + tlsConfig: + ca: + secret: + name: {{ include "kubedb-provider-aws.fullname" . }}-apiserver-cert + key: tls.crt + serverName: "{{ include "kubedb-provider-aws.fullname" . }}.{{ .Release.Namespace }}.svc" +{{- end }} diff --git a/charts/kubedb-provider-aws/values.openapiv3_schema.yaml b/charts/kubedb-provider-aws/values.openapiv3_schema.yaml new file mode 100644 index 000000000..cb2362762 --- /dev/null +++ b/charts/kubedb-provider-aws/values.openapiv3_schema.yaml @@ -0,0 +1,1196 @@ +properties: + affinity: + description: If specified, the pod's scheduling constraints + properties: + nodeAffinity: + description: Describes node affinity scheduling rules for the pod. + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: The scheduler will prefer to schedule pods to nodes that + satisfy the affinity expressions specified by this field, but it may + choose a node that violates one or more of the expressions. The node + that is most preferred is the one with the greatest sum of weights, + i.e. for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling affinity expressions, etc.), compute + a sum by iterating through the elements of this field and adding "weight" + to the sum if the node matches the corresponding matchExpressions; the + node(s) with the highest sum are the most preferred. + items: + description: An empty preferred scheduling term matches all objects + with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling + term matches no objects (i.e. is also a no-op). + properties: + preference: + description: A node selector term, associated with the corresponding + weight. + properties: + matchExpressions: + description: A list of node selector requirements by node's + labels. + items: + description: A node selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: The label key that the selector applies to. + type: string + operator: + description: Represents a key's relationship to a set + of values. Valid operators are In, NotIn, Exists, DoesNotExist. + Gt, and Lt. + type: string + values: + description: An array of string values. If the operator + is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. If the operator is Gt or Lt, the + values array must have a single element, which will + be interpreted as an integer. This array is replaced + during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + description: A list of node selector requirements by node's + fields. + items: + description: A node selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: The label key that the selector applies to. + type: string + operator: + description: Represents a key's relationship to a set + of values. Valid operators are In, NotIn, Exists, DoesNotExist. + Gt, and Lt. + type: string + values: + description: An array of string values. If the operator + is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. If the operator is Gt or Lt, the + values array must have a single element, which will + be interpreted as an integer. This array is replaced + during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + x-kubernetes-map-type: atomic + weight: + description: Weight associated with matching the corresponding nodeSelectorTerm, + in the range 1-100. + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + description: If the affinity requirements specified by this field are + not met at scheduling time, the pod will not be scheduled onto the node. + If the affinity requirements specified by this field cease to be met + at some point during pod execution (e.g. due to an update), the system + may or may not try to eventually evict the pod from its node. + properties: + nodeSelectorTerms: + description: Required. A list of node selector terms. The terms are + ORed. + items: + description: A null or empty node selector term matches no objects. + The requirements of them are ANDed. The TopologySelectorTerm type + implements a subset of the NodeSelectorTerm. + properties: + matchExpressions: + description: A list of node selector requirements by node's + labels. + items: + description: A node selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: The label key that the selector applies to. + type: string + operator: + description: Represents a key's relationship to a set + of values. Valid operators are In, NotIn, Exists, DoesNotExist. + Gt, and Lt. + type: string + values: + description: An array of string values. If the operator + is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. If the operator is Gt or Lt, the + values array must have a single element, which will + be interpreted as an integer. This array is replaced + during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + description: A list of node selector requirements by node's + fields. + items: + description: A node selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: The label key that the selector applies to. + type: string + operator: + description: Represents a key's relationship to a set + of values. Valid operators are In, NotIn, Exists, DoesNotExist. + Gt, and Lt. + type: string + values: + description: An array of string values. If the operator + is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. If the operator is Gt or Lt, the + values array must have a single element, which will + be interpreted as an integer. This array is replaced + during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + x-kubernetes-map-type: atomic + type: array + required: + - nodeSelectorTerms + type: object + x-kubernetes-map-type: atomic + type: object + podAffinity: + description: Describes pod affinity scheduling rules (e.g. co-locate this + pod in the same node, zone, etc. as some other pod(s)). + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: The scheduler will prefer to schedule pods to nodes that + satisfy the affinity expressions specified by this field, but it may + choose a node that violates one or more of the expressions. The node + that is most preferred is the one with the greatest sum of weights, + i.e. for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling affinity expressions, etc.), compute + a sum by iterating through the elements of this field and adding "weight" + to the sum if the node has pods which matches the corresponding podAffinityTerm; + the node(s) with the highest sum are the most preferred. + items: + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred node(s) + properties: + podAffinityTerm: + description: Required. A pod affinity term, associated with the + corresponding weight. + properties: + labelSelector: + description: A label query over a set of resources, in this + case pods. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. This + array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + description: A label query over the set of namespaces that the + term applies to. The term is applied to the union of the namespaces + selected by this field and the ones listed in the namespaces + field. null selector and null or empty namespaces list means + "this pod's namespace". An empty selector ({}) matches all + namespaces. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. This + array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: namespaces specifies a static list of namespace + names that the term applies to. The term is applied to the + union of the namespaces listed in this field and the ones + selected by namespaceSelector. null or empty namespaces list + and null namespaceSelector means "this pod's namespace". + items: + type: string + type: array + topologyKey: + description: This pod should be co-located (affinity) or not + co-located (anti-affinity) with the pods matching the labelSelector + in the specified namespaces, where co-located is defined as + running on a node whose value of the label with key topologyKey + matches that of any node on which any of the selected pods + is running. Empty topologyKey is not allowed. + type: string + required: + - topologyKey + type: object + weight: + description: weight associated with matching the corresponding podAffinityTerm, + in the range 1-100. + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + description: If the affinity requirements specified by this field are + not met at scheduling time, the pod will not be scheduled onto the node. + If the affinity requirements specified by this field cease to be met + at some point during pod execution (e.g. due to a pod label update), + the system may or may not try to eventually evict the pod from its node. + When there are multiple elements, the lists of nodes corresponding to + each podAffinityTerm are intersected, i.e. all terms must be satisfied. + items: + description: Defines a set of pods (namely those matching the labelSelector + relative to the given namespace(s)) that this pod should be co-located + (affinity) or not co-located (anti-affinity) with, where co-located + is defined as running on a node whose value of the label with key + matches that of any node on which a pod of the set of + pods is running + properties: + labelSelector: + description: A label query over a set of resources, in this case + pods. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a + strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + description: A label query over the set of namespaces that the term + applies to. The term is applied to the union of the namespaces + selected by this field and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's + namespace". An empty selector ({}) matches all namespaces. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a + strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: namespaces specifies a static list of namespace names + that the term applies to. The term is applied to the union of + the namespaces listed in this field and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means + "this pod's namespace". + items: + type: string + type: array + topologyKey: + description: This pod should be co-located (affinity) or not co-located + (anti-affinity) with the pods matching the labelSelector in the + specified namespaces, where co-located is defined as running on + a node whose value of the label with key topologyKey matches that + of any node on which any of the selected pods is running. Empty + topologyKey is not allowed. + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + description: Describes pod anti-affinity scheduling rules (e.g. avoid putting + this pod in the same node, zone, etc. as some other pod(s)). + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: The scheduler will prefer to schedule pods to nodes that + satisfy the anti-affinity expressions specified by this field, but it + may choose a node that violates one or more of the expressions. The + node that is most preferred is the one with the greatest sum of weights, + i.e. for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling anti-affinity expressions, etc.), + compute a sum by iterating through the elements of this field and adding + "weight" to the sum if the node has pods which matches the corresponding + podAffinityTerm; the node(s) with the highest sum are the most preferred. + items: + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred node(s) + properties: + podAffinityTerm: + description: Required. A pod affinity term, associated with the + corresponding weight. + properties: + labelSelector: + description: A label query over a set of resources, in this + case pods. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. This + array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + description: A label query over the set of namespaces that the + term applies to. The term is applied to the union of the namespaces + selected by this field and the ones listed in the namespaces + field. null selector and null or empty namespaces list means + "this pod's namespace". An empty selector ({}) matches all + namespaces. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. This + array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: namespaces specifies a static list of namespace + names that the term applies to. The term is applied to the + union of the namespaces listed in this field and the ones + selected by namespaceSelector. null or empty namespaces list + and null namespaceSelector means "this pod's namespace". + items: + type: string + type: array + topologyKey: + description: This pod should be co-located (affinity) or not + co-located (anti-affinity) with the pods matching the labelSelector + in the specified namespaces, where co-located is defined as + running on a node whose value of the label with key topologyKey + matches that of any node on which any of the selected pods + is running. Empty topologyKey is not allowed. + type: string + required: + - topologyKey + type: object + weight: + description: weight associated with matching the corresponding podAffinityTerm, + in the range 1-100. + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + description: If the anti-affinity requirements specified by this field + are not met at scheduling time, the pod will not be scheduled onto the + node. If the anti-affinity requirements specified by this field cease + to be met at some point during pod execution (e.g. due to a pod label + update), the system may or may not try to eventually evict the pod from + its node. When there are multiple elements, the lists of nodes corresponding + to each podAffinityTerm are intersected, i.e. all terms must be satisfied. + items: + description: Defines a set of pods (namely those matching the labelSelector + relative to the given namespace(s)) that this pod should be co-located + (affinity) or not co-located (anti-affinity) with, where co-located + is defined as running on a node whose value of the label with key + matches that of any node on which a pod of the set of + pods is running + properties: + labelSelector: + description: A label query over a set of resources, in this case + pods. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a + strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + description: A label query over the set of namespaces that the term + applies to. The term is applied to the union of the namespaces + selected by this field and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's + namespace". An empty selector ({}) matches all namespaces. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a + strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: namespaces specifies a static list of namespace names + that the term applies to. The term is applied to the union of + the namespaces listed in this field and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means + "this pod's namespace". + items: + type: string + type: array + topologyKey: + description: This pod should be co-located (affinity) or not co-located + (anti-affinity) with the pods matching the labelSelector in the + specified namespaces, where co-located is defined as running on + a node whose value of the label with key topologyKey matches that + of any node on which any of the selected pods is running. Empty + topologyKey is not allowed. + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + aws: + properties: + secretName: + type: string + required: + - secretName + type: object + fullnameOverride: + type: string + image: + properties: + registry: + type: string + repository: + type: string + resources: + description: Compute Resources required by the sidecar container. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute resources + allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute resources + required. If Requests is omitted for a container, it defaults to Limits + if that is explicitly specified, otherwise to an implementation-defined + value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + securityContext: + description: Security options the pod should run with. + properties: + allowPrivilegeEscalation: + description: 'AllowPrivilegeEscalation controls whether a process can + gain more privileges than its parent process. This bool directly controls + if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation + is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN + Note that this field cannot be set when spec.os.name is windows.' + type: boolean + capabilities: + description: The capabilities to add/drop when running containers. Defaults + to the default set of capabilities granted by the container runtime. + Note that this field cannot be set when spec.os.name is windows. + properties: + add: + description: Added capabilities + items: + description: Capability represent POSIX capabilities type + type: string + type: array + drop: + description: Removed capabilities + items: + description: Capability represent POSIX capabilities type + type: string + type: array + type: object + privileged: + description: Run container in privileged mode. Processes in privileged + containers are essentially equivalent to root on the host. Defaults + to false. Note that this field cannot be set when spec.os.name is windows. + type: boolean + procMount: + description: procMount denotes the type of proc mount to use for the containers. + The default is DefaultProcMount which uses the container runtime defaults + for readonly paths and masked paths. This requires the ProcMountType + feature flag to be enabled. Note that this field cannot be set when + spec.os.name is windows. + type: string + readOnlyRootFilesystem: + description: Whether this container has a read-only root filesystem. Default + is false. Note that this field cannot be set when spec.os.name is windows. + type: boolean + runAsGroup: + description: The GID to run the entrypoint of the container process. Uses + runtime default if unset. May also be set in PodSecurityContext. If + set in both SecurityContext and PodSecurityContext, the value specified + in SecurityContext takes precedence. Note that this field cannot be + set when spec.os.name is windows. + format: int64 + type: integer + runAsNonRoot: + description: Indicates that the container must run as a non-root user. + If true, the Kubelet will validate the image at runtime to ensure that + it does not run as UID 0 (root) and fail to start the container if it + does. If unset or false, no such validation will be performed. May also + be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, + the value specified in SecurityContext takes precedence. + type: boolean + runAsUser: + description: The UID to run the entrypoint of the container process. Defaults + to user specified in image metadata if unspecified. May also be set + in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, + the value specified in SecurityContext takes precedence. Note that this + field cannot be set when spec.os.name is windows. + format: int64 + type: integer + seLinuxOptions: + description: The SELinux context to be applied to the container. If unspecified, + the container runtime will allocate a random SELinux context for each + container. May also be set in PodSecurityContext. If set in both SecurityContext + and PodSecurityContext, the value specified in SecurityContext takes + precedence. Note that this field cannot be set when spec.os.name is + windows. + properties: + level: + description: Level is SELinux level label that applies to the container. + type: string + role: + description: Role is a SELinux role label that applies to the container. + type: string + type: + description: Type is a SELinux type label that applies to the container. + type: string + user: + description: User is a SELinux user label that applies to the container. + type: string + type: object + seccompProfile: + description: The seccomp options to use by this container. If seccomp + options are provided at both the pod & container level, the container + options override the pod options. Note that this field cannot be set + when spec.os.name is windows. + properties: + localhostProfile: + description: localhostProfile indicates a profile defined in a file + on the node should be used. The profile must be preconfigured on + the node to work. Must be a descending path, relative to the kubelet's + configured seccomp profile location. Must only be set if type is + "Localhost". + type: string + type: + description: "type indicates which kind of seccomp profile will be\ + \ applied. Valid options are: \n Localhost - a profile defined in\ + \ a file on the node should be used. RuntimeDefault - the container\ + \ runtime default profile should be used. Unconfined - no profile\ + \ should be applied." + type: string + required: + - type + type: object + windowsOptions: + description: The Windows specific settings applied to all containers. + If unspecified, the options from the PodSecurityContext will be used. + If set in both SecurityContext and PodSecurityContext, the value specified + in SecurityContext takes precedence. Note that this field cannot be + set when spec.os.name is linux. + properties: + gmsaCredentialSpec: + description: GMSACredentialSpec is where the GMSA admission webhook + (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents + of the GMSA credential spec named by the GMSACredentialSpecName + field. + type: string + gmsaCredentialSpecName: + description: GMSACredentialSpecName is the name of the GMSA credential + spec to use. + type: string + hostProcess: + description: HostProcess determines if a container should be run as + a 'Host Process' container. This field is alpha-level and will only + be honored by components that enable the WindowsHostProcessContainers + feature flag. Setting this field without the feature flag will result + in errors when validating the Pod. All of a Pod's containers must + have the same effective HostProcess value (it is not allowed to + have a mix of HostProcess containers and non-HostProcess containers). In + addition, if HostProcess is true then HostNetwork must also be set + to true. + type: boolean + runAsUserName: + description: The UserName in Windows to run the entrypoint of the + container process. Defaults to the user specified in image metadata + if unspecified. May also be set in PodSecurityContext. If set in + both SecurityContext and PodSecurityContext, the value specified + in SecurityContext takes precedence. + type: string + type: object + type: object + tag: + type: string + required: + - registry + - repository + - tag + type: object + imagePullPolicy: + type: string + imagePullSecrets: + items: + type: string + type: array + monitoring: + properties: + agent: + enum: + - prometheus.io + - prometheus.io/operator + - prometheus.io/builtin + type: string + serviceMonitor: + properties: + labels: + additionalProperties: + type: string + type: object + type: object + required: + - agent + - serviceMonitor + type: object + nameOverride: + type: string + nodeSelector: + additionalProperties: + type: string + type: object + podAnnotations: + additionalProperties: + type: string + type: object + podSecurityContext: + description: 'PodSecurityContext holds pod-level security attributes and common + container settings. Optional: Defaults to empty. See type description for default + values of each field.' + properties: + fsGroup: + description: "A special supplemental group that applies to all containers\ + \ in a pod. Some volume types allow the Kubelet to change the ownership\ + \ of that volume to be owned by the pod: \n 1. The owning GID will be the\ + \ FSGroup 2. The setgid bit is set (new files created in the volume will\ + \ be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- \n\ + \ If unset, the Kubelet will not modify the ownership and permissions of\ + \ any volume. Note that this field cannot be set when spec.os.name is windows." + format: int64 + type: integer + fsGroupChangePolicy: + description: 'fsGroupChangePolicy defines behavior of changing ownership and + permission of the volume before being exposed inside Pod. This field will + only apply to volume types which support fsGroup based ownership(and permissions). + It will have no effect on ephemeral volume types such as: secret, configmaps + and emptydir. Valid values are "OnRootMismatch" and "Always". If not specified, + "Always" is used. Note that this field cannot be set when spec.os.name is + windows.' + type: string + runAsGroup: + description: The GID to run the entrypoint of the container process. Uses + runtime default if unset. May also be set in SecurityContext. If set in + both SecurityContext and PodSecurityContext, the value specified in SecurityContext + takes precedence for that container. Note that this field cannot be set + when spec.os.name is windows. + format: int64 + type: integer + runAsNonRoot: + description: Indicates that the container must run as a non-root user. If + true, the Kubelet will validate the image at runtime to ensure that it does + not run as UID 0 (root) and fail to start the container if it does. If unset + or false, no such validation will be performed. May also be set in SecurityContext. If + set in both SecurityContext and PodSecurityContext, the value specified + in SecurityContext takes precedence. + type: boolean + runAsUser: + description: The UID to run the entrypoint of the container process. Defaults + to user specified in image metadata if unspecified. May also be set in SecurityContext. If + set in both SecurityContext and PodSecurityContext, the value specified + in SecurityContext takes precedence for that container. Note that this field + cannot be set when spec.os.name is windows. + format: int64 + type: integer + seLinuxOptions: + description: The SELinux context to be applied to all containers. If unspecified, + the container runtime will allocate a random SELinux context for each container. May + also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, + the value specified in SecurityContext takes precedence for that container. + Note that this field cannot be set when spec.os.name is windows. + properties: + level: + description: Level is SELinux level label that applies to the container. + type: string + role: + description: Role is a SELinux role label that applies to the container. + type: string + type: + description: Type is a SELinux type label that applies to the container. + type: string + user: + description: User is a SELinux user label that applies to the container. + type: string + type: object + seccompProfile: + description: The seccomp options to use by the containers in this pod. Note + that this field cannot be set when spec.os.name is windows. + properties: + localhostProfile: + description: localhostProfile indicates a profile defined in a file on + the node should be used. The profile must be preconfigured on the node + to work. Must be a descending path, relative to the kubelet's configured + seccomp profile location. Must only be set if type is "Localhost". + type: string + type: + description: "type indicates which kind of seccomp profile will be applied.\ + \ Valid options are: \n Localhost - a profile defined in a file on the\ + \ node should be used. RuntimeDefault - the container runtime default\ + \ profile should be used. Unconfined - no profile should be applied." + type: string + required: + - type + type: object + supplementalGroups: + description: A list of groups applied to the first process run in each container, + in addition to the container's primary GID. If unspecified, no groups will + be added to any container. Note that this field cannot be set when spec.os.name + is windows. + items: + format: int64 + type: integer + type: array + sysctls: + description: Sysctls hold a list of namespaced sysctls used for the pod. Pods + with unsupported sysctls (by the container runtime) might fail to launch. + Note that this field cannot be set when spec.os.name is windows. + items: + description: Sysctl defines a kernel parameter to be set + properties: + name: + description: Name of a property to set + type: string + value: + description: Value of a property to set + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + description: The Windows specific settings applied to all containers. If unspecified, + the options within a container's SecurityContext will be used. If set in + both SecurityContext and PodSecurityContext, the value specified in SecurityContext + takes precedence. Note that this field cannot be set when spec.os.name is + linux. + properties: + gmsaCredentialSpec: + description: GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) + inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName + field. + type: string + gmsaCredentialSpecName: + description: GMSACredentialSpecName is the name of the GMSA credential + spec to use. + type: string + hostProcess: + description: HostProcess determines if a container should be run as a + 'Host Process' container. This field is alpha-level and will only be + honored by components that enable the WindowsHostProcessContainers feature + flag. Setting this field without the feature flag will result in errors + when validating the Pod. All of a Pod's containers must have the same + effective HostProcess value (it is not allowed to have a mix of HostProcess + containers and non-HostProcess containers). In addition, if HostProcess + is true then HostNetwork must also be set to true. + type: boolean + runAsUserName: + description: The UserName in Windows to run the entrypoint of the container + process. Defaults to the user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext + and PodSecurityContext, the value specified in SecurityContext takes + precedence. + type: string + type: object + type: object + registryFQDN: + type: string + replicaCount: + type: integer + serviceAccount: + properties: + annotations: + additionalProperties: + type: string + type: object + create: + type: boolean + name: + type: string + required: + - create + type: object + tolerations: + description: If specified, the pod's tolerations. + items: + description: The pod this Toleration is attached to tolerates any taint that + matches the triple using the matching operator . + properties: + effect: + description: Effect indicates the taint effect to match. Empty means match + all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule + and NoExecute. + type: string + key: + description: Key is the taint key that the toleration applies to. Empty + means match all taint keys. If the key is empty, operator must be Exists; + this combination means to match all values and all keys. + type: string + operator: + description: Operator represents a key's relationship to the value. Valid + operators are Exists and Equal. Defaults to Equal. Exists is equivalent + to wildcard for value, so that a pod can tolerate all taints of a particular + category. + type: string + tolerationSeconds: + description: TolerationSeconds represents the period of time the toleration + (which must be of effect NoExecute, otherwise this field is ignored) tolerates + the taint. By default, it is not set, which means tolerate the taint forever + (do not evict). Zero and negative values will be treated as 0 (evict immediately) + by the system. + format: int64 + type: integer + value: + description: Value is the taint value the toleration matches to. If the + operator is Exists, the value should be empty, otherwise just a regular + string. + type: string + type: object + type: array +required: +- aws +- image +- imagePullPolicy +- monitoring +- registryFQDN +- replicaCount +- serviceAccount +type: object diff --git a/charts/kubedb-provider-aws/values.yaml b/charts/kubedb-provider-aws/values.yaml new file mode 100644 index 000000000..2501fe7a1 --- /dev/null +++ b/charts/kubedb-provider-aws/values.yaml @@ -0,0 +1,76 @@ +# Default values for kubedb-provider-aws. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +# Overrides name template +nameOverride: "" +# Overrides fullname template +fullnameOverride: "" + +replicaCount: 1 + +# Docker registry fqdn used to pull docker images +# Set this to use docker registry hosted at ${registryFQDN}/${registry}/${image} +registryFQDN: ghcr.io +image: + # Docker registry used to pull operator image + registry: kubedb + # Name of operator container image + repository: provider-aws + # Overrides the image tag whose default is the chart appVersion. + tag: "" + # Compute Resources required by the operator container + resources: {} + # Security options the operator container should run with + securityContext: # +doc-gen:break + allowPrivilegeEscalation: false + capabilities: + drop: ["ALL"] + readOnlyRootFilesystem: true + runAsNonRoot: true + runAsUser: 65534 + seccompProfile: + type: RuntimeDefault + +# Specify an array of imagePullSecrets. +# Secrets must be manually created in the namespace. +# +# Example: +# helm template charts/stash \ +# --set imagePullSecrets[0].name=sec0 \ +# --set imagePullSecrets[1].name=sec1 +imagePullSecrets: [] +# Container image pull policy +imagePullPolicy: Always + +serviceAccount: + # Specifies whether a service account should be created + create: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "" + +podAnnotations: {} + +podSecurityContext: {} + # fsGroup: 2000 + +nodeSelector: {} + +tolerations: [] + +affinity: {} + +monitoring: + # Name of monitoring agent (one of "prometheus.io", "prometheus.io/operator", "prometheus.io/builtin") + agent: "" + serviceMonitor: + # Specify the labels for ServiceMonitor. + # Prometheus crd will select ServiceMonitor using these labels. + # Only usable when monitoring agent is `prometheus.io/operator`. + labels: {} + +aws: + secretName: "aws-credential" diff --git a/charts/kubedb-provider-azure/.helmignore b/charts/kubedb-provider-azure/.helmignore new file mode 100644 index 000000000..e03134ce3 --- /dev/null +++ b/charts/kubedb-provider-azure/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.terraform +*.tfstate* diff --git a/charts/kubedb-provider-azure/Chart.yaml b/charts/kubedb-provider-azure/Chart.yaml new file mode 100755 index 000000000..af37cef46 --- /dev/null +++ b/charts/kubedb-provider-azure/Chart.yaml @@ -0,0 +1,13 @@ +apiVersion: v2 +name: kubedb-provider-azure +description: A Helm chart for KubeDB Azure Provider for Crossplane +type: application +version: v0.0.1 +appVersion: v0.0.1 +home: https://github.com/kubedb/provider-azure +icon: https://cdn.appscode.com/images/products/searchlight/icons/android-icon-192x192.png +sources: +- https://github.com/kubedb/provider-azure +maintainers: +- name: appscode + email: support@appscode.com diff --git a/charts/kubedb-provider-azure/README.md b/charts/kubedb-provider-azure/README.md new file mode 100644 index 000000000..caa533eea --- /dev/null +++ b/charts/kubedb-provider-azure/README.md @@ -0,0 +1,85 @@ +# KubeDB Azure Provider + +[KubeDB Azure Provider for Crossplane](https://github.com/kubedb/provider-azure) - KubeDB Azure provider for Crossplane + +## TL;DR; + +```bash +$ helm repo add appscode https://charts.appscode.com/stable/ +$ helm repo update +$ helm search repo appscode/kubedb-provider-azure --version=v0.0.1 +$ helm upgrade -i kubedb-provider-azure appscode/kubedb-provider-azure -n crossplane-system --create-namespace --version=v0.0.1 +``` + +## Introduction + +This chart deploys a KubeDB Azure provider on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager. + +## Prerequisites + +- Kubernetes 1.21+ + +## Installing the Chart + +To install/upgrade the chart with the release name `kubedb-provider-azure`: + +```bash +$ helm upgrade -i kubedb-provider-azure appscode/kubedb-provider-azure -n crossplane-system --create-namespace --version=v0.0.1 +``` + +The command deploys a KubeDB Azure provider on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation. + +> **Tip**: List all releases using `helm list` + +## Uninstalling the Chart + +To uninstall the `kubedb-provider-azure`: + +```bash +$ helm uninstall kubedb-provider-azure -n crossplane-system +``` + +The command removes all the Kubernetes components associated with the chart and deletes the release. + +## Configuration + +The following table lists the configurable parameters of the `kubedb-provider-azure` chart and their default values. + +| Parameter | Description | Default | +|----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| nameOverride | Overrides name template | "" | +| fullnameOverride | Overrides fullname template | "" | +| replicaCount | | 1 | +| registryFQDN | Docker registry fqdn used to pull docker images Set this to use docker registry hosted at ${registryFQDN}/${registry}/${image} | ghcr.io | +| image.registry | Docker registry used to pull operator image | kubedb | +| image.repository | Name of operator container image | provider-azure | +| image.tag | Overrides the image tag whose default is the chart appVersion. | "" | +| image.resources | Compute Resources required by the operator container | {} | +| image.securityContext | Security options the operator container should run with | {"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsNonRoot":true,"runAsUser":65534,"seccompProfile":{"type":"RuntimeDefault"}} | +| imagePullSecrets | Specify an array of imagePullSecrets. Secrets must be manually created in the namespace.
Example:
`helm template charts/stash \`
`--set imagePullSecrets[0].name=sec0 \`
`--set imagePullSecrets[1].name=sec1` | [] | +| imagePullPolicy | Container image pull policy | Always | +| serviceAccount.create | Specifies whether a service account should be created | true | +| serviceAccount.annotations | Annotations to add to the service account | {} | +| serviceAccount.name | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | "" | +| podAnnotations | | {} | +| podSecurityContext | | {} | +| nodeSelector | | {} | +| tolerations | | [] | +| affinity | | {} | +| monitoring.agent | Name of monitoring agent (one of "prometheus.io", "prometheus.io/operator", "prometheus.io/builtin") | "" | +| monitoring.serviceMonitor.labels | Specify the labels for ServiceMonitor. Prometheus crd will select ServiceMonitor using these labels. Only usable when monitoring agent is `prometheus.io/operator`. | {} | +| azure.secretName | | "azure-credential" | + + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm upgrade -i`. For example: + +```bash +$ helm upgrade -i kubedb-provider-azure appscode/kubedb-provider-azure -n crossplane-system --create-namespace --version=v0.0.1 --set replicaCount=1 +``` + +Alternatively, a YAML file that specifies the values for the parameters can be provided while +installing the chart. For example: + +```bash +$ helm upgrade -i kubedb-provider-azure appscode/kubedb-provider-azure -n crossplane-system --create-namespace --version=v0.0.1 --values values.yaml +``` diff --git a/charts/kubedb-provider-azure/crds/azure.kubedb.com_providerconfigs.yaml b/charts/kubedb-provider-azure/crds/azure.kubedb.com_providerconfigs.yaml new file mode 100644 index 000000000..fd64917e5 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/azure.kubedb.com_providerconfigs.yaml @@ -0,0 +1,152 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: providerconfigs.azure.kubedb.com +spec: + group: azure.kubedb.com + names: + categories: + - crossplane + - provider + - azure + kind: ProviderConfig + listKind: ProviderConfigList + plural: providerconfigs + singular: providerconfig + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + - jsonPath: .spec.credentials.secretRef.name + name: SECRET-NAME + priority: 1 + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: A ProviderConfig configures a Azure provider. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: A ProviderConfigSpec defines the desired state of a ProviderConfig. + properties: + credentials: + description: Credentials required to authenticate to this provider. + properties: + env: + description: Env is a reference to an environment variable that + contains credentials that must be used to connect to the provider. + properties: + name: + description: Name is the name of an environment variable. + type: string + required: + - name + type: object + fs: + description: Fs is a reference to a filesystem location that contains + credentials that must be used to connect to the provider. + properties: + path: + description: Path is a filesystem path. + type: string + required: + - path + type: object + secretRef: + description: A SecretRef is a reference to a secret key that contains + the credentials that must be used to connect to the provider. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + source: + description: Source of the provider credentials. + enum: + - None + - Secret + - InjectedIdentity + - Environment + - Filesystem + type: string + required: + - source + type: object + required: + - credentials + type: object + status: + description: A ProviderConfigStatus reflects the observed state of a ProviderConfig. + properties: + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + users: + description: Users of this provider configuration. + format: int64 + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/azure.kubedb.com_providerconfigusages.yaml b/charts/kubedb-provider-azure/crds/azure.kubedb.com_providerconfigusages.yaml new file mode 100644 index 000000000..b0a3f9053 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/azure.kubedb.com_providerconfigusages.yaml @@ -0,0 +1,110 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: providerconfigusages.azure.kubedb.com +spec: + group: azure.kubedb.com + names: + categories: + - crossplane + - provider + - azure + kind: ProviderConfigUsage + listKind: ProviderConfigUsageList + plural: providerconfigusages + singular: providerconfigusage + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + - jsonPath: .providerConfigRef.name + name: CONFIG-NAME + type: string + - jsonPath: .resourceRef.kind + name: RESOURCE-KIND + type: string + - jsonPath: .resourceRef.name + name: RESOURCE-NAME + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: A ProviderConfigUsage indicates that a resource is using a ProviderConfig. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + providerConfigRef: + description: ProviderConfigReference to the provider config being used. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this reference + is required. The default is 'Required', which means the reconcile + will fail if the reference cannot be resolved. 'Optional' means + this reference will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should be resolved. + The default is 'IfNotPresent', which will attempt to resolve + the reference only when the corresponding field is not present. + Use 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + resourceRef: + description: ResourceReference to the managed resource using the provider + config. + properties: + apiVersion: + description: APIVersion of the referenced object. + type: string + kind: + description: Kind of the referenced object. + type: string + name: + description: Name of the referenced object. + type: string + uid: + description: UID of the referenced object. + type: string + required: + - apiVersion + - kind + - name + type: object + required: + - providerConfigRef + - resourceRef + type: object + served: true + storage: true + subresources: {} diff --git a/charts/kubedb-provider-azure/crds/azure.kubedb.com_storeconfigs.yaml b/charts/kubedb-provider-azure/crds/azure.kubedb.com_storeconfigs.yaml new file mode 100644 index 000000000..4dc6f3774 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/azure.kubedb.com_storeconfigs.yaml @@ -0,0 +1,342 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: storeconfigs.azure.kubedb.com +spec: + group: azure.kubedb.com + names: + categories: + - crossplane + - store + - gcp + kind: StoreConfig + listKind: StoreConfigList + plural: storeconfigs + singular: storeconfig + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + - jsonPath: .spec.type + name: TYPE + type: string + - jsonPath: .spec.defaultScope + name: DEFAULT-SCOPE + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: A StoreConfig configures how GCP controller should store connection + details. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: A StoreConfigSpec defines the desired state of a ProviderConfig. + properties: + defaultScope: + description: DefaultScope used for scoping secrets for "cluster-scoped" + resources. If store type is "Kubernetes", this would mean the default + namespace to store connection secrets for cluster scoped resources. + In case of "Vault", this would be used as the default parent path. + Typically, should be set as Crossplane installation namespace. + type: string + kubernetes: + description: Kubernetes configures a Kubernetes secret store. If the + "type" is "Kubernetes" but no config provided, in cluster config + will be used. + properties: + auth: + description: Credentials used to connect to the Kubernetes API. + properties: + env: + description: Env is a reference to an environment variable + that contains credentials that must be used to connect to + the provider. + properties: + name: + description: Name is the name of an environment variable. + type: string + required: + - name + type: object + fs: + description: Fs is a reference to a filesystem location that + contains credentials that must be used to connect to the + provider. + properties: + path: + description: Path is a filesystem path. + type: string + required: + - path + type: object + secretRef: + description: A SecretRef is a reference to a secret key that + contains the credentials that must be used to connect to + the provider. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + source: + description: Source of the credentials. + enum: + - None + - Secret + - Environment + - Filesystem + type: string + required: + - source + type: object + required: + - auth + type: object + plugin: + description: Plugin configures External secret store as a plugin. + properties: + configRef: + description: ConfigRef contains store config reference info. + properties: + apiVersion: + description: APIVersion of the referenced config. + type: string + kind: + description: Kind of the referenced config. + type: string + name: + description: Name of the referenced config. + type: string + required: + - apiVersion + - kind + - name + type: object + endpoint: + description: Endpoint is the endpoint of the gRPC server. + type: string + type: object + type: + default: Kubernetes + description: Type configures which secret store to be used. Only the + configuration block for this store will be used and others will + be ignored if provided. Default is Kubernetes. + enum: + - Kubernetes + - Vault + - Plugin + type: string + vault: + description: 'Vault configures a Vault secret store. Deprecated: This + API is scheduled to be removed in a future release. Vault should + be used as a plugin going forward. See https://github.com/crossplane-contrib/ess-plugin-vault + for more information.' + properties: + auth: + description: Auth configures an authentication method for Vault. + properties: + method: + description: Method configures which auth method will be used. + type: string + token: + description: Token configures Token Auth for Vault. + properties: + env: + description: Env is a reference to an environment variable + that contains credentials that must be used to connect + to the provider. + properties: + name: + description: Name is the name of an environment variable. + type: string + required: + - name + type: object + fs: + description: Fs is a reference to a filesystem location + that contains credentials that must be used to connect + to the provider. + properties: + path: + description: Path is a filesystem path. + type: string + required: + - path + type: object + secretRef: + description: A SecretRef is a reference to a secret key + that contains the credentials that must be used to connect + to the provider. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + source: + description: Source of the credentials. + enum: + - None + - Secret + - Environment + - Filesystem + type: string + required: + - source + type: object + required: + - method + type: object + caBundle: + description: CABundle configures CA bundle for Vault Server. + properties: + env: + description: Env is a reference to an environment variable + that contains credentials that must be used to connect to + the provider. + properties: + name: + description: Name is the name of an environment variable. + type: string + required: + - name + type: object + fs: + description: Fs is a reference to a filesystem location that + contains credentials that must be used to connect to the + provider. + properties: + path: + description: Path is a filesystem path. + type: string + required: + - path + type: object + secretRef: + description: A SecretRef is a reference to a secret key that + contains the credentials that must be used to connect to + the provider. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + source: + description: Source of the credentials. + enum: + - None + - Secret + - Environment + - Filesystem + type: string + required: + - source + type: object + mountPath: + description: MountPath is the mount path of the KV secrets engine. + type: string + server: + description: Server is the url of the Vault server, e.g. "https://vault.acme.org" + type: string + version: + default: v2 + description: Version of the KV Secrets engine of Vault. https://www.vaultproject.io/docs/secrets/kv + type: string + required: + - auth + - mountPath + - server + type: object + required: + - defaultScope + type: object + status: + description: A StoreConfigStatus represents the status of a StoreConfig. + properties: + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_rediscaches.yaml b/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_rediscaches.yaml new file mode 100644 index 000000000..41631eeb4 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_rediscaches.yaml @@ -0,0 +1,730 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: rediscaches.cache.azure.kubedb.com +spec: + group: cache.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: RedisCache + listKind: RedisCacheList + plural: rediscaches + singular: rediscache + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: RedisCache is the Schema for the RedisCaches API. Manages a Redis + Cache + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: RedisCacheSpec defines the desired state of RedisCache + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + capacity: + description: The size of the Redis cache to deploy. Valid values + for a SKU family of C (Basic/Standard) are 0, 1, 2, 3, 4, 5, + 6, and for P (Premium) family are 1, 2, 3, 4, 5. + type: number + enableNonSslPort: + description: Enable the non-SSL port (6379) - disabled by default. + type: boolean + family: + description: The SKU family/pricing group to use. Valid values + are C (for Basic/Standard SKU family) and P (for Premium) + type: string + identity: + description: An identity block as defined below. + items: + properties: + identityIds: + description: A list of User Assigned Managed Identity IDs + to be assigned to this Redis Cluster. + items: + type: string + type: array + type: + description: Specifies the type of Managed Service Identity + that should be configured on this Redis Cluster. Possible + values are SystemAssigned, UserAssigned, SystemAssigned, + UserAssigned (to enable both). + type: string + required: + - type + type: object + type: array + location: + description: The location of the resource group. Changing this + forces a new resource to be created. + type: string + minimumTlsVersion: + description: The minimum TLS version. Possible values are 1.0, + 1.1 and 1.2. Defaults to 1.0. + type: string + patchSchedule: + description: A list of patch_schedule blocks as defined below. + items: + properties: + dayOfWeek: + description: the Weekday name - possible values include + Monday, Tuesday, Wednesday etc. + type: string + maintenanceWindow: + description: The ISO 8601 timespan which specifies the amount + of time the Redis Cache can be updated. Defaults to PT5H. + type: string + startHourUtc: + description: the Start Hour for maintenance in UTC - possible + values range from 0 - 23. + type: number + required: + - dayOfWeek + type: object + type: array + privateStaticIpAddress: + description: The Static IP Address to assign to the Redis Cache + when hosted inside the Virtual Network. This argument implies + the use of subnet_id. Changing this forces a new resource to + be created. + type: string + publicNetworkAccessEnabled: + description: Whether or not public network access is allowed for + this Redis Cache. true means this resource could be accessed + by both public and private endpoint. false means only private + endpoint access is allowed. Defaults to true. + type: boolean + redisConfiguration: + description: A redis_configuration as defined below - with some + limitations by SKU - defaults/details are shown below. + items: + properties: + aofBackupEnabled: + description: Enable or disable AOF persistence for this + Redis Cache. Defaults to false. + type: boolean + aofStorageConnectionString0SecretRef: + description: First Storage Account connection string for + AOF persistence. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + aofStorageConnectionString1SecretRef: + description: Second Storage Account connection string for + AOF persistence. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + enableAuthentication: + description: If set to false, the Redis instance will be + accessible without authentication. Defaults to true. + type: boolean + maxfragmentationmemoryReserved: + description: Value in megabytes reserved to accommodate + for memory fragmentation. Defaults are shown below. + type: number + maxmemoryDelta: + description: The max-memory delta for this Redis instance. + Defaults are shown below. + type: number + maxmemoryPolicy: + description: How Redis will select what to remove when maxmemory + is reached. Defaults are shown below. Defaults to volatile-lru. + type: string + maxmemoryReserved: + description: Value in megabytes reserved for non-cache usage + e.g. failover. Defaults are shown below. + type: number + notifyKeyspaceEvents: + description: Keyspace notifications allows clients to subscribe + to Pub/Sub channels in order to receive events affecting + the Redis data set in some way. Reference + type: string + rdbBackupEnabled: + description: Is Backup Enabled? Only supported on Premium + SKUs. Defaults to false. + type: boolean + rdbBackupFrequency: + description: 'The Backup Frequency in Minutes. Only supported + on Premium SKUs. Possible values are: 15, 30, 60, 360, + 720 and 1440.' + type: number + rdbBackupMaxSnapshotCount: + description: The maximum number of snapshots to create as + a backup. Only supported for Premium SKUs. + type: number + rdbStorageConnectionStringSecretRef: + description: 'The Connection String to the Storage Account. + Only supported for Premium SKUs. In the format: DefaultEndpointsProtocol=https;BlobEndpoint=${azurerm_storage_account.example.primary_blob_endpoint};AccountName=${azurerm_storage_account.example.name};AccountKey=${azurerm_storage_account.example.primary_access_key}.' + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + type: object + type: array + redisVersion: + description: 'Redis version. Only major version needed. Valid + values: 4, 6.' + type: string + replicasPerMaster: + description: Amount of replicas to create per master for this + Redis Cache. + type: number + replicasPerPrimary: + description: Amount of replicas to create per primary for this + Redis Cache. If both replicas_per_primary and replicas_per_master + are set, they need to be equal. + type: number + resourceGroupName: + description: The name of the resource group in which to create + the Redis instance. Changing this forces a new resource to be + created. + type: string + shardCount: + description: Only available when using the Premium SKU The number + of Shards to create on the Redis Cluster. + type: number + skuName: + description: The SKU of Redis to use. Possible values are Basic, + Standard and Premium. + type: string + subnetId: + description: Only available when using the Premium SKU The ID + of the Subnet within which the Redis Cache should be deployed. + This Subnet must only contain Azure Cache for Redis instances + without any other type of resources. Changing this forces a + new resource to be created. + type: string + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the resource. + type: object + tenantSettings: + additionalProperties: + type: string + description: A mapping of tenant settings to assign to the resource. + type: object + zones: + description: Specifies a list of Availability Zones in which this + Redis Cache should be located. Changing this forces a new Redis + Cache to be created. + items: + type: string + type: array + required: + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: capacity is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.capacity) + - message: family is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.family) + - message: location is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location) + - message: redisVersion is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.redisVersion) + - message: skuName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.skuName) + status: + description: RedisCacheStatus defines the observed state of RedisCache. + properties: + atProvider: + properties: + capacity: + description: The size of the Redis cache to deploy. Valid values + for a SKU family of C (Basic/Standard) are 0, 1, 2, 3, 4, 5, + 6, and for P (Premium) family are 1, 2, 3, 4, 5. + type: number + enableNonSslPort: + description: Enable the non-SSL port (6379) - disabled by default. + type: boolean + family: + description: The SKU family/pricing group to use. Valid values + are C (for Basic/Standard SKU family) and P (for Premium) + type: string + hostname: + description: The Hostname of the Redis Instance + type: string + id: + description: The Route ID. + type: string + identity: + description: An identity block as defined below. + items: + properties: + identityIds: + description: A list of User Assigned Managed Identity IDs + to be assigned to this Redis Cluster. + items: + type: string + type: array + principalId: + description: The Route ID. + type: string + tenantId: + description: The Route ID. + type: string + type: + description: Specifies the type of Managed Service Identity + that should be configured on this Redis Cluster. Possible + values are SystemAssigned, UserAssigned, SystemAssigned, + UserAssigned (to enable both). + type: string + type: object + type: array + location: + description: The location of the resource group. Changing this + forces a new resource to be created. + type: string + minimumTlsVersion: + description: The minimum TLS version. Possible values are 1.0, + 1.1 and 1.2. Defaults to 1.0. + type: string + patchSchedule: + description: A list of patch_schedule blocks as defined below. + items: + properties: + dayOfWeek: + description: the Weekday name - possible values include + Monday, Tuesday, Wednesday etc. + type: string + maintenanceWindow: + description: The ISO 8601 timespan which specifies the amount + of time the Redis Cache can be updated. Defaults to PT5H. + type: string + startHourUtc: + description: the Start Hour for maintenance in UTC - possible + values range from 0 - 23. + type: number + type: object + type: array + port: + description: The non-SSL Port of the Redis Instance + type: number + privateStaticIpAddress: + description: The Static IP Address to assign to the Redis Cache + when hosted inside the Virtual Network. This argument implies + the use of subnet_id. Changing this forces a new resource to + be created. + type: string + publicNetworkAccessEnabled: + description: Whether or not public network access is allowed for + this Redis Cache. true means this resource could be accessed + by both public and private endpoint. false means only private + endpoint access is allowed. Defaults to true. + type: boolean + redisConfiguration: + description: A redis_configuration as defined below - with some + limitations by SKU - defaults/details are shown below. + items: + properties: + aofBackupEnabled: + description: Enable or disable AOF persistence for this + Redis Cache. Defaults to false. + type: boolean + enableAuthentication: + description: If set to false, the Redis instance will be + accessible without authentication. Defaults to true. + type: boolean + maxclients: + description: Returns the max number of connected clients + at the same time. + type: number + maxfragmentationmemoryReserved: + description: Value in megabytes reserved to accommodate + for memory fragmentation. Defaults are shown below. + type: number + maxmemoryDelta: + description: The max-memory delta for this Redis instance. + Defaults are shown below. + type: number + maxmemoryPolicy: + description: How Redis will select what to remove when maxmemory + is reached. Defaults are shown below. Defaults to volatile-lru. + type: string + maxmemoryReserved: + description: Value in megabytes reserved for non-cache usage + e.g. failover. Defaults are shown below. + type: number + notifyKeyspaceEvents: + description: Keyspace notifications allows clients to subscribe + to Pub/Sub channels in order to receive events affecting + the Redis data set in some way. Reference + type: string + rdbBackupEnabled: + description: Is Backup Enabled? Only supported on Premium + SKUs. Defaults to false. + type: boolean + rdbBackupFrequency: + description: 'The Backup Frequency in Minutes. Only supported + on Premium SKUs. Possible values are: 15, 30, 60, 360, + 720 and 1440.' + type: number + rdbBackupMaxSnapshotCount: + description: The maximum number of snapshots to create as + a backup. Only supported for Premium SKUs. + type: number + type: object + type: array + redisVersion: + description: 'Redis version. Only major version needed. Valid + values: 4, 6.' + type: string + replicasPerMaster: + description: Amount of replicas to create per master for this + Redis Cache. + type: number + replicasPerPrimary: + description: Amount of replicas to create per primary for this + Redis Cache. If both replicas_per_primary and replicas_per_master + are set, they need to be equal. + type: number + resourceGroupName: + description: The name of the resource group in which to create + the Redis instance. Changing this forces a new resource to be + created. + type: string + shardCount: + description: Only available when using the Premium SKU The number + of Shards to create on the Redis Cluster. + type: number + skuName: + description: The SKU of Redis to use. Possible values are Basic, + Standard and Premium. + type: string + sslPort: + description: The SSL Port of the Redis Instance + type: number + subnetId: + description: Only available when using the Premium SKU The ID + of the Subnet within which the Redis Cache should be deployed. + This Subnet must only contain Azure Cache for Redis instances + without any other type of resources. Changing this forces a + new resource to be created. + type: string + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the resource. + type: object + tenantSettings: + additionalProperties: + type: string + description: A mapping of tenant settings to assign to the resource. + type: object + zones: + description: Specifies a list of Availability Zones in which this + Redis Cache should be located. Changing this forces a new Redis + Cache to be created. + items: + type: string + type: array + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redisenterpriseclusters.yaml b/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redisenterpriseclusters.yaml new file mode 100644 index 000000000..af827d9c4 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redisenterpriseclusters.yaml @@ -0,0 +1,395 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: redisenterpriseclusters.cache.azure.kubedb.com +spec: + group: cache.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: RedisEnterpriseCluster + listKind: RedisEnterpriseClusterList + plural: redisenterpriseclusters + singular: redisenterprisecluster + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: RedisEnterpriseCluster is the Schema for the RedisEnterpriseClusters + API. Manages a Redis Enterprise Cluster. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: RedisEnterpriseClusterSpec defines the desired state of RedisEnterpriseCluster + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + location: + description: The Azure Region where the Redis Enterprise Cluster + should exist. Changing this forces a new Redis Enterprise Cluster + to be created. + type: string + minimumTlsVersion: + description: The minimum TLS version. Possible values are 1.0, + 1.1 and 1.2. Defaults to 1.2. Changing this forces a new Redis + Enterprise Cluster to be created. + type: string + resourceGroupName: + description: The name of the Resource Group where the Redis Enterprise + Cluster should exist. Changing this forces a new Redis Enterprise + Cluster to be created. + type: string + skuName: + description: The sku_name is comprised of two segments separated + by a hyphen (e.g. Enterprise_E10-2). The first segment of the + sku_name defines the name of the SKU, possible values are Enterprise_E10, + Enterprise_E20", Enterprise_E50, Enterprise_E100, EnterpriseFlash_F300, + EnterpriseFlash_F700 or EnterpriseFlash_F1500. The second segment + defines the capacity of the sku_name, possible values for Enteprise + SKUs are (2, 4, 6, ...). Possible values for EnterpriseFlash + SKUs are (3, 9, 15, ...). Changing this forces a new Redis Enterprise + Cluster to be created. + type: string + tags: + additionalProperties: + type: string + description: A mapping of tags which should be assigned to the + Redis Enterprise Cluster. + type: object + zones: + description: Specifies a list of Availability Zones in which this + Redis Enterprise Cluster should be located. Changing this forces + a new Redis Enterprise Cluster to be created. + items: + type: string + type: array + required: + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: location is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location) + - message: skuName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.skuName) + status: + description: RedisEnterpriseClusterStatus defines the observed state of + RedisEnterpriseCluster. + properties: + atProvider: + properties: + hostname: + description: DNS name of the cluster endpoint. + type: string + id: + description: The ID of the Redis Enterprise Cluster. + type: string + location: + description: The Azure Region where the Redis Enterprise Cluster + should exist. Changing this forces a new Redis Enterprise Cluster + to be created. + type: string + minimumTlsVersion: + description: The minimum TLS version. Possible values are 1.0, + 1.1 and 1.2. Defaults to 1.2. Changing this forces a new Redis + Enterprise Cluster to be created. + type: string + resourceGroupName: + description: The name of the Resource Group where the Redis Enterprise + Cluster should exist. Changing this forces a new Redis Enterprise + Cluster to be created. + type: string + skuName: + description: The sku_name is comprised of two segments separated + by a hyphen (e.g. Enterprise_E10-2). The first segment of the + sku_name defines the name of the SKU, possible values are Enterprise_E10, + Enterprise_E20", Enterprise_E50, Enterprise_E100, EnterpriseFlash_F300, + EnterpriseFlash_F700 or EnterpriseFlash_F1500. The second segment + defines the capacity of the sku_name, possible values for Enteprise + SKUs are (2, 4, 6, ...). Possible values for EnterpriseFlash + SKUs are (3, 9, 15, ...). Changing this forces a new Redis Enterprise + Cluster to be created. + type: string + tags: + additionalProperties: + type: string + description: A mapping of tags which should be assigned to the + Redis Enterprise Cluster. + type: object + zones: + description: Specifies a list of Availability Zones in which this + Redis Enterprise Cluster should be located. Changing this forces + a new Redis Enterprise Cluster to be created. + items: + type: string + type: array + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redisenterprisedatabases.yaml b/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redisenterprisedatabases.yaml new file mode 100644 index 000000000..11a259ed9 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redisenterprisedatabases.yaml @@ -0,0 +1,436 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: redisenterprisedatabases.cache.azure.kubedb.com +spec: + group: cache.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: RedisEnterpriseDatabase + listKind: RedisEnterpriseDatabaseList + plural: redisenterprisedatabases + singular: redisenterprisedatabase + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: RedisEnterpriseDatabase is the Schema for the RedisEnterpriseDatabases + API. Manages a Redis Enterprise Database. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: RedisEnterpriseDatabaseSpec defines the desired state of + RedisEnterpriseDatabase + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + clientProtocol: + description: Specifies whether redis clients can connect using + TLS-encrypted or plaintext redis protocols. Default is TLS-encrypted. + Possible values are Encrypted and Plaintext. Defaults to Encrypted. + Changing this forces a new Redis Enterprise Database to be created. + type: string + clusterId: + description: The resource id of the Redis Enterprise Cluster to + deploy this Redis Enterprise Database. Changing this forces + a new Redis Enterprise Database to be created. + type: string + clusteringPolicy: + description: Clustering policy - default is OSSCluster. Specified + at create time. Possible values are EnterpriseCluster and OSSCluster. + Defaults to OSSCluster. Changing this forces a new Redis Enterprise + Database to be created. + type: string + evictionPolicy: + description: Redis eviction policy - default is VolatileLRU. Possible + values are AllKeysLFU, AllKeysLRU, AllKeysRandom, VolatileLRU, + VolatileLFU, VolatileTTL, VolatileRandom and NoEviction. Changing + this forces a new Redis Enterprise Database to be created. + type: string + linkedDatabaseGroupNickname: + description: Nickname of the group of linked databases. Changing + this force a new Redis Enterprise Geo Database to be created. + type: string + linkedDatabaseId: + description: A list of database resources to link with this database + with a maximum of 5. + items: + type: string + type: array + module: + description: A module block as defined below. Changing this forces + a new resource to be created. + items: + properties: + args: + description: Configuration options for the module (e.g. + ERROR_RATE 0.00 INITIAL_SIZE 400). Changing this forces + a new resource to be created. Defaults to "". + type: string + name: + description: The name which should be used for this module. + Possible values are RedisBloom, RedisTimeSeries, RediSearch + and RedisJSON. Changing this forces a new Redis Enterprise + Database to be created. + type: string + required: + - name + type: object + type: array + port: + description: TCP port of the database endpoint. Specified at create + time. Defaults to an available port. Changing this forces a + new Redis Enterprise Database to be created. Defaults to 10000. + type: number + resourceGroupName: + description: The name of the Resource Group where the Redis Enterprise + Database should exist. Changing this forces a new Redis Enterprise + Database to be created. + type: string + required: + - clusterId + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: RedisEnterpriseDatabaseStatus defines the observed state + of RedisEnterpriseDatabase. + properties: + atProvider: + properties: + clientProtocol: + description: Specifies whether redis clients can connect using + TLS-encrypted or plaintext redis protocols. Default is TLS-encrypted. + Possible values are Encrypted and Plaintext. Defaults to Encrypted. + Changing this forces a new Redis Enterprise Database to be created. + type: string + clusterId: + description: The resource id of the Redis Enterprise Cluster to + deploy this Redis Enterprise Database. Changing this forces + a new Redis Enterprise Database to be created. + type: string + clusteringPolicy: + description: Clustering policy - default is OSSCluster. Specified + at create time. Possible values are EnterpriseCluster and OSSCluster. + Defaults to OSSCluster. Changing this forces a new Redis Enterprise + Database to be created. + type: string + evictionPolicy: + description: Redis eviction policy - default is VolatileLRU. Possible + values are AllKeysLFU, AllKeysLRU, AllKeysRandom, VolatileLRU, + VolatileLFU, VolatileTTL, VolatileRandom and NoEviction. Changing + this forces a new Redis Enterprise Database to be created. + type: string + id: + description: The ID of the Redis Enterprise Database. + type: string + linkedDatabaseGroupNickname: + description: Nickname of the group of linked databases. Changing + this force a new Redis Enterprise Geo Database to be created. + type: string + linkedDatabaseId: + description: A list of database resources to link with this database + with a maximum of 5. + items: + type: string + type: array + module: + description: A module block as defined below. Changing this forces + a new resource to be created. + items: + properties: + args: + description: Configuration options for the module (e.g. + ERROR_RATE 0.00 INITIAL_SIZE 400). Changing this forces + a new resource to be created. Defaults to "". + type: string + name: + description: The name which should be used for this module. + Possible values are RedisBloom, RedisTimeSeries, RediSearch + and RedisJSON. Changing this forces a new Redis Enterprise + Database to be created. + type: string + version: + type: string + type: object + type: array + port: + description: TCP port of the database endpoint. Specified at create + time. Defaults to an available port. Changing this forces a + new Redis Enterprise Database to be created. Defaults to 10000. + type: number + resourceGroupName: + description: The name of the Resource Group where the Redis Enterprise + Database should exist. Changing this forces a new Redis Enterprise + Database to be created. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redisfirewallrules.yaml b/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redisfirewallrules.yaml new file mode 100644 index 000000000..4c9133cfc --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redisfirewallrules.yaml @@ -0,0 +1,342 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: redisfirewallrules.cache.azure.kubedb.com +spec: + group: cache.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: RedisFirewallRule + listKind: RedisFirewallRuleList + plural: redisfirewallrules + singular: redisfirewallrule + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: RedisFirewallRule is the Schema for the RedisFirewallRules API. + Manages a Firewall Rule associated with a Redis Cache. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: RedisFirewallRuleSpec defines the desired state of RedisFirewallRule + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + endIp: + description: The highest IP address included in the range. + type: string + redisCacheName: + description: The name of the Redis Cache. Changing this forces + a new resource to be created. + type: string + resourceGroupName: + description: The name of the resource group in which this Redis + Cache exists. Changing this forces a new resource to be created. + type: string + startIp: + description: The lowest IP address included in the range + type: string + required: + - redisCacheName + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: endIp is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.endIp) + - message: startIp is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.startIp) + status: + description: RedisFirewallRuleStatus defines the observed state of RedisFirewallRule. + properties: + atProvider: + properties: + endIp: + description: The highest IP address included in the range. + type: string + id: + description: The ID of the Redis Firewall Rule. + type: string + redisCacheName: + description: The name of the Redis Cache. Changing this forces + a new resource to be created. + type: string + resourceGroupName: + description: The name of the resource group in which this Redis + Cache exists. Changing this forces a new resource to be created. + type: string + startIp: + description: The lowest IP address included in the range + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redislinkedservers.yaml b/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redislinkedservers.yaml new file mode 100644 index 000000000..44ec0117c --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cache.azure.kubedb.com_redislinkedservers.yaml @@ -0,0 +1,504 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: redislinkedservers.cache.azure.kubedb.com +spec: + group: cache.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: RedisLinkedServer + listKind: RedisLinkedServerList + plural: redislinkedservers + singular: redislinkedserver + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: RedisLinkedServer is the Schema for the RedisLinkedServers API. + Manages a Redis Linked Server. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: RedisLinkedServerSpec defines the desired state of RedisLinkedServer + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + linkedRedisCacheId: + description: The ID of the linked Redis cache. Changing this forces + a new Redis to be created. + type: string + linkedRedisCacheIdRef: + description: Reference to a RedisCache to populate linkedRedisCacheId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + linkedRedisCacheIdSelector: + description: Selector for a RedisCache to populate linkedRedisCacheId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + linkedRedisCacheLocation: + description: The location of the linked Redis cache. Changing + this forces a new Redis to be created. + type: string + resourceGroupName: + description: The name of the Resource Group where the Redis caches + exists. Changing this forces a new Redis to be created. + type: string + serverRole: + description: The role of the linked Redis cache (eg "Secondary"). + Changing this forces a new Redis to be created. Possible values + are Primary and Secondary. + type: string + targetRedisCacheName: + description: The name of Redis cache to link with. Changing this + forces a new Redis to be created. (eg The primary role) + type: string + targetRedisCacheNameRef: + description: Reference to a RedisCache to populate targetRedisCacheName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + targetRedisCacheNameSelector: + description: Selector for a RedisCache to populate targetRedisCacheName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + required: + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: linkedRedisCacheLocation is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.linkedRedisCacheLocation) + - message: serverRole is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.serverRole) + status: + description: RedisLinkedServerStatus defines the observed state of RedisLinkedServer. + properties: + atProvider: + properties: + id: + description: The ID of the Redis. + type: string + linkedRedisCacheId: + description: The ID of the linked Redis cache. Changing this forces + a new Redis to be created. + type: string + linkedRedisCacheLocation: + description: The location of the linked Redis cache. Changing + this forces a new Redis to be created. + type: string + name: + description: The name of the linked server. + type: string + resourceGroupName: + description: The name of the Resource Group where the Redis caches + exists. Changing this forces a new Redis to be created. + type: string + serverRole: + description: The role of the linked Redis cache (eg "Secondary"). + Changing this forces a new Redis to be created. Possible values + are Primary and Secondary. + type: string + targetRedisCacheName: + description: The name of Redis cache to link with. Changing this + forces a new Redis to be created. (eg The primary role) + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_accounts.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_accounts.yaml new file mode 100644 index 000000000..fec765711 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_accounts.yaml @@ -0,0 +1,1001 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: accounts.cosmosdb.azure.kubedb.com +spec: + group: cosmosdb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: Account + listKind: AccountList + plural: accounts + singular: account + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Account is the Schema for the Accounts API. Manages a CosmosDB + (formally DocumentDB) Account. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: AccountSpec defines the desired state of Account + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + accessKeyMetadataWritesEnabled: + description: Is write operations on metadata resources (databases, + containers, throughput) via account keys enabled? Defaults to + true. + type: boolean + analyticalStorage: + description: An analytical_storage block as defined below. + items: + properties: + schemaType: + description: The schema type of the Analytical Storage for + this Cosmos DB account. Possible values are FullFidelity + and WellDefined. + type: string + required: + - schemaType + type: object + type: array + analyticalStorageEnabled: + description: Enable Analytical Storage option for this Cosmos + DB account. Defaults to false. Enabling and then disabling analytical + storage forces a new resource to be created. + type: boolean + backup: + description: A backup block as defined below. + items: + properties: + intervalInMinutes: + description: The interval in minutes between two backups. + This is configurable only when type is Periodic. Possible + values are between 60 and 1440. + type: number + retentionInHours: + description: The time in hours that each backup is retained. + This is configurable only when type is Periodic. Possible + values are between 8 and 720. + type: number + storageRedundancy: + description: The storage redundancy is used to indicate + the type of backup residency. This is configurable only + when type is Periodic. Possible values are Geo, Local + and Zone. + type: string + type: + description: The type of the backup. Possible values are + Continuous and Periodic. Migration of Periodic to Continuous + is one-way, changing Continuous to Periodic forces a new + resource to be created. + type: string + required: + - type + type: object + type: array + capabilities: + description: The capabilities which should be enabled for this + Cosmos DB account. Value is a capabilities block as defined + below. + items: + properties: + name: + description: The capability to enable - Possible values + are AllowSelfServeUpgradeToMongo36, DisableRateLimitingResponses, + EnableAggregationPipeline, EnableCassandra, EnableGremlin, + EnableMongo, EnableMongo16MBDocumentSupport, EnableMongoRetryableWrites, + EnableMongoRoleBasedAccessControl, EnablePartialUniqueIndex, + EnableServerless, EnableTable, EnableTtlOnCustomPath, + EnableUniqueCompoundNestedDocs, MongoDBv3.4 and mongoEnableDocLevelTTL. + type: string + required: + - name + type: object + type: array + capacity: + description: A capacity block as defined below. + items: + properties: + totalThroughputLimit: + description: The total throughput limit imposed on this + Cosmos DB account (RU/s). Possible values are at least + -1. -1 means no limit. + type: number + required: + - totalThroughputLimit + type: object + type: array + consistencyPolicy: + description: Specifies a consistency_policy resource, used to + define the consistency policy for this CosmosDB account. + items: + properties: + consistencyLevel: + description: The Consistency Level to use for this CosmosDB + Account - can be either BoundedStaleness, Eventual, Session, + Strong or ConsistentPrefix. + type: string + maxIntervalInSeconds: + description: When used with the Bounded Staleness consistency + level, this value represents the time amount of staleness + (in seconds) tolerated. The accepted range for this value + is 5 - 86400 (1 day). Defaults to 5. Required when consistency_level + is set to BoundedStaleness. + type: number + maxStalenessPrefix: + description: When used with the Bounded Staleness consistency + level, this value represents the number of stale requests + tolerated. The accepted range for this value is 10 – 2147483647. + Defaults to 100. Required when consistency_level is set + to BoundedStaleness. + type: number + required: + - consistencyLevel + type: object + type: array + corsRule: + description: A cors_rule block as defined below. + items: + properties: + allowedHeaders: + description: A list of headers that are allowed to be a + part of the cross-origin request. + items: + type: string + type: array + allowedMethods: + description: A list of HTTP headers that are allowed to + be executed by the origin. Valid options are DELETE, GET, + HEAD, MERGE, POST, OPTIONS, PUT or PATCH. + items: + type: string + type: array + allowedOrigins: + description: A list of origin domains that will be allowed + by CORS. + items: + type: string + type: array + exposedHeaders: + description: A list of response headers that are exposed + to CORS clients. + items: + type: string + type: array + maxAgeInSeconds: + description: The number of seconds the client should cache + a preflight response. + type: number + required: + - allowedHeaders + - allowedMethods + - allowedOrigins + - exposedHeaders + - maxAgeInSeconds + type: object + type: array + createMode: + description: The creation mode for the CosmosDB Account. Possible + values are Default and Restore. Changing this forces a new resource + to be created. + type: string + defaultIdentityType: + description: The default identity for accessing Key Vault. Possible + values are FirstPartyIdentity, SystemAssignedIdentity or UserAssignedIdentity. + Defaults to FirstPartyIdentity. + type: string + enableAutomaticFailover: + description: Enable automatic failover for this Cosmos DB account. + type: boolean + enableFreeTier: + description: Enable the Free Tier pricing option for this Cosmos + DB account. Defaults to false. Changing this forces a new resource + to be created. + type: boolean + enableMultipleWriteLocations: + description: Enable multiple write locations for this Cosmos DB + account. + type: boolean + geoLocation: + description: Specifies a geo_location resource, used to define + where data should be replicated with the failover_priority 0 + specifying the primary location. Value is a geo_location block + as defined below. + items: + properties: + failoverPriority: + description: The failover priority of the region. A failover + priority of 0 indicates a write region. The maximum value + for a failover priority = (total number of regions - 1). + Failover priority values must be unique for each of the + regions in which the database account exists. Changing + this causes the location to be re-provisioned and cannot + be changed for the location with failover priority 0. + type: number + location: + description: The name of the Azure region to host replicated + data. + type: string + zoneRedundant: + description: Should zone redundancy be enabled for this + region? Defaults to false. + type: boolean + required: + - failoverPriority + - location + type: object + type: array + identity: + description: An identity block as defined below. + items: + properties: + identityIds: + description: Specifies a list of User Assigned Managed Identity + IDs to be assigned to this Cosmos Account. + items: + type: string + type: array + type: + description: The Type of Managed Identity assigned to this + Cosmos account. Possible values are SystemAssigned, UserAssigned + and SystemAssigned, UserAssigned. + type: string + required: + - type + type: object + type: array + ipRangeFilter: + description: 'CosmosDB Firewall Support: This value specifies + the set of IP addresses or IP address ranges in CIDR form to + be included as the allowed list of client IPs for a given database + account. IP addresses/ranges must be comma separated and must + not contain any spaces.' + type: string + isVirtualNetworkFilterEnabled: + description: Enables virtual network filtering for this Cosmos + DB account. + type: boolean + keyVaultKeyId: + description: A versionless Key Vault Key ID for CMK encryption. + Changing this forces a new resource to be created. + type: string + kind: + description: Specifies the Kind of CosmosDB to create - possible + values are GlobalDocumentDB, MongoDB and Parse. Defaults to + GlobalDocumentDB. Changing this forces a new resource to be + created. + type: string + localAuthenticationDisabled: + description: Disable local authentication and ensure only MSI + and AAD can be used exclusively for authentication. Defaults + to false. Can be set only when using the SQL API. + type: boolean + location: + description: Specifies the supported Azure location where the + resource exists. Changing this forces a new resource to be created. + type: string + mongoServerVersion: + description: The Server Version of a MongoDB account. Possible + values are 4.2, 4.0, 3.6, and 3.2. + type: string + networkAclBypassForAzureServices: + description: If Azure services can bypass ACLs. Defaults to false. + type: boolean + networkAclBypassIds: + description: The list of resource Ids for Network Acl Bypass for + this Cosmos DB account. + items: + type: string + type: array + offerType: + description: Specifies the Offer Type to use for this CosmosDB + Account; currently, this can only be set to Standard. + type: string + publicNetworkAccessEnabled: + description: Whether or not public network access is allowed for + this CosmosDB account. Defaults to true. + type: boolean + resourceGroupName: + description: The name of the resource group in which the CosmosDB + Account is created. Changing this forces a new resource to be + created. + type: string + restore: + description: A restore block as defined below. + items: + properties: + database: + description: A database block as defined below. Changing + this forces a new resource to be created. + items: + properties: + collectionNames: + description: A list of the collection names for the + restore request. Changing this forces a new resource + to be created. + items: + type: string + type: array + name: + description: Specifies the name of the CosmosDB Account. + Changing this forces a new resource to be created. + type: string + required: + - name + type: object + type: array + restoreTimestampInUtc: + description: The creation time of the database or the collection + (Datetime Format RFC 3339). Changing this forces a new + resource to be created. + type: string + sourceCosmosdbAccountId: + description: The resource ID of the restorable database + account from which the restore has to be initiated. The + example is /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}. + Changing this forces a new resource to be created. + type: string + required: + - restoreTimestampInUtc + - sourceCosmosdbAccountId + type: object + type: array + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the resource. + type: object + virtualNetworkRule: + description: Specifies a virtual_network_rules resource, used + to define which subnets are allowed to access this CosmosDB + account. + items: + properties: + id: + description: The ID of the virtual network subnet. + type: string + ignoreMissingVnetServiceEndpoint: + description: If set to true, the specified subnet will be + added as a virtual network rule even if its CosmosDB service + endpoint is not active. Defaults to false. + type: boolean + required: + - id + type: object + type: array + required: + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: consistencyPolicy is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.consistencyPolicy) + - message: geoLocation is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.geoLocation) + - message: location is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location) + - message: offerType is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.offerType) + status: + description: AccountStatus defines the observed state of Account. + properties: + atProvider: + properties: + accessKeyMetadataWritesEnabled: + description: Is write operations on metadata resources (databases, + containers, throughput) via account keys enabled? Defaults to + true. + type: boolean + analyticalStorage: + description: An analytical_storage block as defined below. + items: + properties: + schemaType: + description: The schema type of the Analytical Storage for + this Cosmos DB account. Possible values are FullFidelity + and WellDefined. + type: string + type: object + type: array + analyticalStorageEnabled: + description: Enable Analytical Storage option for this Cosmos + DB account. Defaults to false. Enabling and then disabling analytical + storage forces a new resource to be created. + type: boolean + backup: + description: A backup block as defined below. + items: + properties: + intervalInMinutes: + description: The interval in minutes between two backups. + This is configurable only when type is Periodic. Possible + values are between 60 and 1440. + type: number + retentionInHours: + description: The time in hours that each backup is retained. + This is configurable only when type is Periodic. Possible + values are between 8 and 720. + type: number + storageRedundancy: + description: The storage redundancy is used to indicate + the type of backup residency. This is configurable only + when type is Periodic. Possible values are Geo, Local + and Zone. + type: string + type: + description: The type of the backup. Possible values are + Continuous and Periodic. Migration of Periodic to Continuous + is one-way, changing Continuous to Periodic forces a new + resource to be created. + type: string + type: object + type: array + capabilities: + description: The capabilities which should be enabled for this + Cosmos DB account. Value is a capabilities block as defined + below. + items: + properties: + name: + description: The capability to enable - Possible values + are AllowSelfServeUpgradeToMongo36, DisableRateLimitingResponses, + EnableAggregationPipeline, EnableCassandra, EnableGremlin, + EnableMongo, EnableMongo16MBDocumentSupport, EnableMongoRetryableWrites, + EnableMongoRoleBasedAccessControl, EnablePartialUniqueIndex, + EnableServerless, EnableTable, EnableTtlOnCustomPath, + EnableUniqueCompoundNestedDocs, MongoDBv3.4 and mongoEnableDocLevelTTL. + type: string + type: object + type: array + capacity: + description: A capacity block as defined below. + items: + properties: + totalThroughputLimit: + description: The total throughput limit imposed on this + Cosmos DB account (RU/s). Possible values are at least + -1. -1 means no limit. + type: number + type: object + type: array + consistencyPolicy: + description: Specifies a consistency_policy resource, used to + define the consistency policy for this CosmosDB account. + items: + properties: + consistencyLevel: + description: The Consistency Level to use for this CosmosDB + Account - can be either BoundedStaleness, Eventual, Session, + Strong or ConsistentPrefix. + type: string + maxIntervalInSeconds: + description: When used with the Bounded Staleness consistency + level, this value represents the time amount of staleness + (in seconds) tolerated. The accepted range for this value + is 5 - 86400 (1 day). Defaults to 5. Required when consistency_level + is set to BoundedStaleness. + type: number + maxStalenessPrefix: + description: When used with the Bounded Staleness consistency + level, this value represents the number of stale requests + tolerated. The accepted range for this value is 10 – 2147483647. + Defaults to 100. Required when consistency_level is set + to BoundedStaleness. + type: number + type: object + type: array + corsRule: + description: A cors_rule block as defined below. + items: + properties: + allowedHeaders: + description: A list of headers that are allowed to be a + part of the cross-origin request. + items: + type: string + type: array + allowedMethods: + description: A list of HTTP headers that are allowed to + be executed by the origin. Valid options are DELETE, GET, + HEAD, MERGE, POST, OPTIONS, PUT or PATCH. + items: + type: string + type: array + allowedOrigins: + description: A list of origin domains that will be allowed + by CORS. + items: + type: string + type: array + exposedHeaders: + description: A list of response headers that are exposed + to CORS clients. + items: + type: string + type: array + maxAgeInSeconds: + description: The number of seconds the client should cache + a preflight response. + type: number + type: object + type: array + createMode: + description: The creation mode for the CosmosDB Account. Possible + values are Default and Restore. Changing this forces a new resource + to be created. + type: string + defaultIdentityType: + description: The default identity for accessing Key Vault. Possible + values are FirstPartyIdentity, SystemAssignedIdentity or UserAssignedIdentity. + Defaults to FirstPartyIdentity. + type: string + enableAutomaticFailover: + description: Enable automatic failover for this Cosmos DB account. + type: boolean + enableFreeTier: + description: Enable the Free Tier pricing option for this Cosmos + DB account. Defaults to false. Changing this forces a new resource + to be created. + type: boolean + enableMultipleWriteLocations: + description: Enable multiple write locations for this Cosmos DB + account. + type: boolean + endpoint: + description: The endpoint used to connect to the CosmosDB account. + type: string + geoLocation: + description: Specifies a geo_location resource, used to define + where data should be replicated with the failover_priority 0 + specifying the primary location. Value is a geo_location block + as defined below. + items: + properties: + failoverPriority: + description: The failover priority of the region. A failover + priority of 0 indicates a write region. The maximum value + for a failover priority = (total number of regions - 1). + Failover priority values must be unique for each of the + regions in which the database account exists. Changing + this causes the location to be re-provisioned and cannot + be changed for the location with failover priority 0. + type: number + id: + description: The ID of the virtual network subnet. + type: string + location: + description: The name of the Azure region to host replicated + data. + type: string + zoneRedundant: + description: Should zone redundancy be enabled for this + region? Defaults to false. + type: boolean + type: object + type: array + id: + description: The CosmosDB Account ID. + type: string + identity: + description: An identity block as defined below. + items: + properties: + identityIds: + description: Specifies a list of User Assigned Managed Identity + IDs to be assigned to this Cosmos Account. + items: + type: string + type: array + principalId: + description: The Principal ID associated with this Managed + Service Identity. + type: string + tenantId: + description: The Tenant ID associated with this Managed + Service Identity. + type: string + type: + description: The Type of Managed Identity assigned to this + Cosmos account. Possible values are SystemAssigned, UserAssigned + and SystemAssigned, UserAssigned. + type: string + type: object + type: array + ipRangeFilter: + description: 'CosmosDB Firewall Support: This value specifies + the set of IP addresses or IP address ranges in CIDR form to + be included as the allowed list of client IPs for a given database + account. IP addresses/ranges must be comma separated and must + not contain any spaces.' + type: string + isVirtualNetworkFilterEnabled: + description: Enables virtual network filtering for this Cosmos + DB account. + type: boolean + keyVaultKeyId: + description: A versionless Key Vault Key ID for CMK encryption. + Changing this forces a new resource to be created. + type: string + kind: + description: Specifies the Kind of CosmosDB to create - possible + values are GlobalDocumentDB, MongoDB and Parse. Defaults to + GlobalDocumentDB. Changing this forces a new resource to be + created. + type: string + localAuthenticationDisabled: + description: Disable local authentication and ensure only MSI + and AAD can be used exclusively for authentication. Defaults + to false. Can be set only when using the SQL API. + type: boolean + location: + description: Specifies the supported Azure location where the + resource exists. Changing this forces a new resource to be created. + type: string + mongoServerVersion: + description: The Server Version of a MongoDB account. Possible + values are 4.2, 4.0, 3.6, and 3.2. + type: string + networkAclBypassForAzureServices: + description: If Azure services can bypass ACLs. Defaults to false. + type: boolean + networkAclBypassIds: + description: The list of resource Ids for Network Acl Bypass for + this Cosmos DB account. + items: + type: string + type: array + offerType: + description: Specifies the Offer Type to use for this CosmosDB + Account; currently, this can only be set to Standard. + type: string + publicNetworkAccessEnabled: + description: Whether or not public network access is allowed for + this CosmosDB account. Defaults to true. + type: boolean + readEndpoints: + description: A list of read endpoints available for this CosmosDB + account. + items: + type: string + type: array + resourceGroupName: + description: The name of the resource group in which the CosmosDB + Account is created. Changing this forces a new resource to be + created. + type: string + restore: + description: A restore block as defined below. + items: + properties: + database: + description: A database block as defined below. Changing + this forces a new resource to be created. + items: + properties: + collectionNames: + description: A list of the collection names for the + restore request. Changing this forces a new resource + to be created. + items: + type: string + type: array + name: + description: Specifies the name of the CosmosDB Account. + Changing this forces a new resource to be created. + type: string + type: object + type: array + restoreTimestampInUtc: + description: The creation time of the database or the collection + (Datetime Format RFC 3339). Changing this forces a new + resource to be created. + type: string + sourceCosmosdbAccountId: + description: The resource ID of the restorable database + account from which the restore has to be initiated. The + example is /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}. + Changing this forces a new resource to be created. + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the resource. + type: object + virtualNetworkRule: + description: Specifies a virtual_network_rules resource, used + to define which subnets are allowed to access this CosmosDB + account. + items: + properties: + id: + description: The ID of the virtual network subnet. + type: string + ignoreMissingVnetServiceEndpoint: + description: If set to true, the specified subnet will be + added as a virtual network rule even if its CosmosDB service + endpoint is not active. Defaults to false. + type: boolean + type: object + type: array + writeEndpoints: + description: A list of write endpoints available for this CosmosDB + account. + items: + type: string + type: array + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandraclusters.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandraclusters.yaml new file mode 100644 index 000000000..e814b8719 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandraclusters.yaml @@ -0,0 +1,475 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: cassandraclusters.cosmosdb.azure.kubedb.com +spec: + group: cosmosdb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: CassandraCluster + listKind: CassandraClusterList + plural: cassandraclusters + singular: cassandracluster + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: CassandraCluster is the Schema for the CassandraClusters API. + Manages a Cassandra Cluster. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: CassandraClusterSpec defines the desired state of CassandraCluster + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + authenticationMethod: + description: The authentication method that is used to authenticate + clients. Possible values are None and Cassandra. Defaults to + Cassandra. + type: string + clientCertificatePems: + description: A list of TLS certificates that is used to authorize + client connecting to the Cassandra Cluster. + items: + type: string + type: array + defaultAdminPasswordSecretRef: + description: The initial admin password for this Cassandra Cluster. + Changing this forces a new resource to be created. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + delegatedManagementSubnetId: + description: The ID of the delegated management subnet for this + Cassandra Cluster. Changing this forces a new Cassandra Cluster + to be created. + type: string + externalGossipCertificatePems: + description: A list of TLS certificates that is used to authorize + gossip from unmanaged Cassandra Data Center. + items: + type: string + type: array + externalSeedNodeIpAddresses: + description: A list of IP Addresses of the seed nodes in unmanaged + the Cassandra Data Center which will be added to the seed node + lists of all managed nodes. + items: + type: string + type: array + hoursBetweenBackups: + description: The number of hours to wait between taking a backup + of the Cassandra Cluster. Defaults to 24. + type: number + identity: + description: An identity block as defined below. + items: + properties: + type: + description: Specifies the type of Managed Service Identity + that should be configured on this Cassandra Cluster. The + only possible value is SystemAssigned. + type: string + required: + - type + type: object + type: array + location: + description: The Azure Region where the Cassandra Cluster should + exist. Changing this forces a new Cassandra Cluster to be created. + type: string + repairEnabled: + description: Is the automatic repair enabled on the Cassandra + Cluster? Defaults to true. + type: boolean + resourceGroupName: + description: The name of the Resource Group where the Cassandra + Cluster should exist. Changing this forces a new Cassandra Cluster + to be created. + type: string + tags: + additionalProperties: + type: string + description: A mapping of tags assigned to the resource. + type: object + version: + description: The version of Cassandra what the Cluster converges + to run. Possible values are 3.11 and 4.0. Defaults to 3.11. + Changing this forces a new Cassandra Cluster to be created. + type: string + required: + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: defaultAdminPasswordSecretRef is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.defaultAdminPasswordSecretRef) + - message: delegatedManagementSubnetId is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.delegatedManagementSubnetId) + - message: location is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location) + status: + description: CassandraClusterStatus defines the observed state of CassandraCluster. + properties: + atProvider: + properties: + authenticationMethod: + description: The authentication method that is used to authenticate + clients. Possible values are None and Cassandra. Defaults to + Cassandra. + type: string + clientCertificatePems: + description: A list of TLS certificates that is used to authorize + client connecting to the Cassandra Cluster. + items: + type: string + type: array + delegatedManagementSubnetId: + description: The ID of the delegated management subnet for this + Cassandra Cluster. Changing this forces a new Cassandra Cluster + to be created. + type: string + externalGossipCertificatePems: + description: A list of TLS certificates that is used to authorize + gossip from unmanaged Cassandra Data Center. + items: + type: string + type: array + externalSeedNodeIpAddresses: + description: A list of IP Addresses of the seed nodes in unmanaged + the Cassandra Data Center which will be added to the seed node + lists of all managed nodes. + items: + type: string + type: array + hoursBetweenBackups: + description: The number of hours to wait between taking a backup + of the Cassandra Cluster. Defaults to 24. + type: number + id: + description: The ID of the Cassandra Cluster. + type: string + identity: + description: An identity block as defined below. + items: + properties: + principalId: + description: The ID of the Cassandra Cluster. + type: string + tenantId: + description: The ID of the Cassandra Cluster. + type: string + type: + description: Specifies the type of Managed Service Identity + that should be configured on this Cassandra Cluster. The + only possible value is SystemAssigned. + type: string + type: object + type: array + location: + description: The Azure Region where the Cassandra Cluster should + exist. Changing this forces a new Cassandra Cluster to be created. + type: string + repairEnabled: + description: Is the automatic repair enabled on the Cassandra + Cluster? Defaults to true. + type: boolean + resourceGroupName: + description: The name of the Resource Group where the Cassandra + Cluster should exist. Changing this forces a new Cassandra Cluster + to be created. + type: string + tags: + additionalProperties: + type: string + description: A mapping of tags assigned to the resource. + type: object + version: + description: The version of Cassandra what the Cluster converges + to run. Possible values are 3.11 and 4.0. Defaults to 3.11. + Changing this forces a new Cassandra Cluster to be created. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandradatacenters.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandradatacenters.yaml new file mode 100644 index 000000000..3a4a5ec7a --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandradatacenters.yaml @@ -0,0 +1,409 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: cassandradatacenters.cosmosdb.azure.kubedb.com +spec: + group: cosmosdb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: CassandraDatacenter + listKind: CassandraDatacenterList + plural: cassandradatacenters + singular: cassandradatacenter + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: CassandraDatacenter is the Schema for the CassandraDatacenters + API. Manages a Cassandra Datacenter. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: CassandraDatacenterSpec defines the desired state of CassandraDatacenter + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + availabilityZonesEnabled: + description: Determines whether availability zones are enabled. + Defaults to true. + type: boolean + backupStorageCustomerKeyUri: + description: The key URI of the customer key to use for the encryption + of the backup Storage Account. + type: string + base64EncodedYamlFragment: + description: The fragment of the cassandra.yaml configuration + file to be included in the cassandra.yaml for all nodes in this + Cassandra Datacenter. The fragment should be Base64 encoded + and only a subset of keys is allowed. + type: string + cassandraClusterId: + description: The ID of the Cassandra Cluster. Changing this forces + a new Cassandra Datacenter to be created. + type: string + delegatedManagementSubnetId: + description: The ID of the delegated management subnet for this + Cassandra Datacenter. Changing this forces a new Cassandra Datacenter + to be created. + type: string + diskCount: + description: Determines the number of p30 disks that are attached + to each node. + type: number + diskSku: + description: The Disk SKU that is used for this Cassandra Datacenter. + Defaults to P30. + type: string + location: + description: The Azure Region where the Cassandra Datacenter should + exist. Changing this forces a new Cassandra Datacenter to be + created. + type: string + managedDiskCustomerKeyUri: + description: The key URI of the customer key to use for the encryption + of the Managed Disk. + type: string + nodeCount: + description: The number of nodes the Cassandra Datacenter should + have. The number should be equal or greater than 3. Defaults + to 3. + type: number + skuName: + description: Determines the selected sku. + type: string + required: + - cassandraClusterId + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: delegatedManagementSubnetId is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.delegatedManagementSubnetId) + - message: location is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location) + status: + description: CassandraDatacenterStatus defines the observed state of CassandraDatacenter. + properties: + atProvider: + properties: + availabilityZonesEnabled: + description: Determines whether availability zones are enabled. + Defaults to true. + type: boolean + backupStorageCustomerKeyUri: + description: The key URI of the customer key to use for the encryption + of the backup Storage Account. + type: string + base64EncodedYamlFragment: + description: The fragment of the cassandra.yaml configuration + file to be included in the cassandra.yaml for all nodes in this + Cassandra Datacenter. The fragment should be Base64 encoded + and only a subset of keys is allowed. + type: string + cassandraClusterId: + description: The ID of the Cassandra Cluster. Changing this forces + a new Cassandra Datacenter to be created. + type: string + delegatedManagementSubnetId: + description: The ID of the delegated management subnet for this + Cassandra Datacenter. Changing this forces a new Cassandra Datacenter + to be created. + type: string + diskCount: + description: Determines the number of p30 disks that are attached + to each node. + type: number + diskSku: + description: The Disk SKU that is used for this Cassandra Datacenter. + Defaults to P30. + type: string + id: + description: The ID of the Cassandra Datacenter. + type: string + location: + description: The Azure Region where the Cassandra Datacenter should + exist. Changing this forces a new Cassandra Datacenter to be + created. + type: string + managedDiskCustomerKeyUri: + description: The key URI of the customer key to use for the encryption + of the Managed Disk. + type: string + nodeCount: + description: The number of nodes the Cassandra Datacenter should + have. The number should be equal or greater than 3. Defaults + to 3. + type: number + skuName: + description: Determines the selected sku. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandrakeyspaces.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandrakeyspaces.yaml new file mode 100644 index 000000000..c1a19c1bd --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandrakeyspaces.yaml @@ -0,0 +1,359 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: cassandrakeyspaces.cosmosdb.azure.kubedb.com +spec: + group: cosmosdb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: CassandraKeySpace + listKind: CassandraKeySpaceList + plural: cassandrakeyspaces + singular: cassandrakeyspace + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: CassandraKeySpace is the Schema for the CassandraKeySpaces API. + Manages a Cassandra KeySpace within a Cosmos DB Account. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: CassandraKeySpaceSpec defines the desired state of CassandraKeySpace + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + accountName: + description: The name of the Cosmos DB Cassandra KeySpace to create + the table within. Changing this forces a new resource to be + created. + type: string + autoscaleSettings: + description: An autoscale_settings block as defined below. + items: + properties: + maxThroughput: + description: The maximum throughput of the Cassandra KeySpace + (RU/s). Must be between 1,000 and 1,000,000. Must be set + in increments of 1,000. Conflicts with throughput. + type: number + type: object + type: array + resourceGroupName: + description: The name of the resource group in which the Cosmos + DB Cassandra KeySpace is created. Changing this forces a new + resource to be created. + type: string + throughput: + description: The throughput of Cassandra KeySpace (RU/s). Must + be set in increments of 100. The minimum value is 400. + type: number + required: + - accountName + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: CassandraKeySpaceStatus defines the observed state of CassandraKeySpace. + properties: + atProvider: + properties: + accountName: + description: The name of the Cosmos DB Cassandra KeySpace to create + the table within. Changing this forces a new resource to be + created. + type: string + autoscaleSettings: + description: An autoscale_settings block as defined below. + items: + properties: + maxThroughput: + description: The maximum throughput of the Cassandra KeySpace + (RU/s). Must be between 1,000 and 1,000,000. Must be set + in increments of 1,000. Conflicts with throughput. + type: number + type: object + type: array + id: + description: the ID of the CosmosDB Cassandra KeySpace. + type: string + resourceGroupName: + description: The name of the resource group in which the Cosmos + DB Cassandra KeySpace is created. Changing this forces a new + resource to be created. + type: string + throughput: + description: The throughput of Cassandra KeySpace (RU/s). Must + be set in increments of 100. The minimum value is 400. + type: number + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandratables.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandratables.yaml new file mode 100644 index 000000000..5802cb51b --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_cassandratables.yaml @@ -0,0 +1,535 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: cassandratables.cosmosdb.azure.kubedb.com +spec: + group: cosmosdb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: CassandraTable + listKind: CassandraTableList + plural: cassandratables + singular: cassandratable + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: CassandraTable is the Schema for the CassandraTables API. Manages + a Cassandra Table within a Cosmos DB Cassandra Keyspace. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: CassandraTableSpec defines the desired state of CassandraTable + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + analyticalStorageTtl: + description: Time to live of the Analytical Storage. Possible + values are between -1 and 2147483647 except 0. -1 means the + Analytical Storage never expires. Changing this forces a new + resource to be created. + type: number + autoscaleSettings: + description: An autoscale_settings block as defined below. + items: + properties: + maxThroughput: + description: The maximum throughput of the Cassandra Table + (RU/s). Must be between 1,000 and 1,000,000. Must be set + in increments of 1,000. Conflicts with throughput. + type: number + type: object + type: array + cassandraKeyspaceId: + description: The ID of the Cosmos DB Cassandra Keyspace to create + the table within. Changing this forces a new resource to be + created. + type: string + cassandraKeyspaceIdRef: + description: Reference to a CassandraKeySpace to populate cassandraKeyspaceId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + cassandraKeyspaceIdSelector: + description: Selector for a CassandraKeySpace to populate cassandraKeyspaceId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + defaultTtl: + description: Time to live of the Cosmos DB Cassandra table. Possible + values are at least -1. -1 means the Cassandra table never expires. + type: number + schema: + description: A schema block as defined below. + items: + properties: + clusterKey: + description: One or more cluster_key blocks as defined below. + items: + properties: + name: + description: Name of the column to be created. + type: string + orderBy: + description: Order of the key. Currently supported + values are Asc and Desc. + type: string + required: + - name + - orderBy + type: object + type: array + column: + description: One or more column blocks as defined below. + items: + properties: + name: + description: Name of the column to be created. + type: string + type: + description: Type of the column to be created. + type: string + required: + - name + - type + type: object + type: array + partitionKey: + description: One or more partition_key blocks as defined + below. + items: + properties: + name: + description: Name of the column to be created. + type: string + required: + - name + type: object + type: array + required: + - column + - partitionKey + type: object + type: array + throughput: + description: The throughput of Cassandra KeySpace (RU/s). Must + be set in increments of 100. The minimum value is 400. + type: number + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: schema is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.schema) + status: + description: CassandraTableStatus defines the observed state of CassandraTable. + properties: + atProvider: + properties: + analyticalStorageTtl: + description: Time to live of the Analytical Storage. Possible + values are between -1 and 2147483647 except 0. -1 means the + Analytical Storage never expires. Changing this forces a new + resource to be created. + type: number + autoscaleSettings: + description: An autoscale_settings block as defined below. + items: + properties: + maxThroughput: + description: The maximum throughput of the Cassandra Table + (RU/s). Must be between 1,000 and 1,000,000. Must be set + in increments of 1,000. Conflicts with throughput. + type: number + type: object + type: array + cassandraKeyspaceId: + description: The ID of the Cosmos DB Cassandra Keyspace to create + the table within. Changing this forces a new resource to be + created. + type: string + defaultTtl: + description: Time to live of the Cosmos DB Cassandra table. Possible + values are at least -1. -1 means the Cassandra table never expires. + type: number + id: + description: the ID of the CosmosDB Cassandra Table. + type: string + schema: + description: A schema block as defined below. + items: + properties: + clusterKey: + description: One or more cluster_key blocks as defined below. + items: + properties: + name: + description: Name of the column to be created. + type: string + orderBy: + description: Order of the key. Currently supported + values are Asc and Desc. + type: string + type: object + type: array + column: + description: One or more column blocks as defined below. + items: + properties: + name: + description: Name of the column to be created. + type: string + type: + description: Type of the column to be created. + type: string + type: object + type: array + partitionKey: + description: One or more partition_key blocks as defined + below. + items: + properties: + name: + description: Name of the column to be created. + type: string + type: object + type: array + type: object + type: array + throughput: + description: The throughput of Cassandra KeySpace (RU/s). Must + be set in increments of 100. The minimum value is 400. + type: number + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_gremlindatabases.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_gremlindatabases.yaml new file mode 100644 index 000000000..8749f7c73 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_gremlindatabases.yaml @@ -0,0 +1,357 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: gremlindatabases.cosmosdb.azure.kubedb.com +spec: + group: cosmosdb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: GremlinDatabase + listKind: GremlinDatabaseList + plural: gremlindatabases + singular: gremlindatabase + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: GremlinDatabase is the Schema for the GremlinDatabases API. Manages + a Gremlin Database within a Cosmos DB Account. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: GremlinDatabaseSpec defines the desired state of GremlinDatabase + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + accountName: + description: The name of the CosmosDB Account to create the Gremlin + Database within. Changing this forces a new resource to be created. + type: string + autoscaleSettings: + description: An autoscale_settings block as defined below. + items: + properties: + maxThroughput: + description: The maximum throughput of the Gremlin database + (RU/s). Must be between 1,000 and 1,000,000. Must be set + in increments of 1,000. Conflicts with throughput. + type: number + type: object + type: array + resourceGroupName: + description: The name of the resource group in which the Cosmos + DB Gremlin Database is created. Changing this forces a new resource + to be created. + type: string + throughput: + description: The throughput of the Gremlin database (RU/s). Must + be set in increments of 100. The minimum value is 400. + type: number + required: + - accountName + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: GremlinDatabaseStatus defines the observed state of GremlinDatabase. + properties: + atProvider: + properties: + accountName: + description: The name of the CosmosDB Account to create the Gremlin + Database within. Changing this forces a new resource to be created. + type: string + autoscaleSettings: + description: An autoscale_settings block as defined below. + items: + properties: + maxThroughput: + description: The maximum throughput of the Gremlin database + (RU/s). Must be between 1,000 and 1,000,000. Must be set + in increments of 1,000. Conflicts with throughput. + type: number + type: object + type: array + id: + description: The ID of the CosmosDB Gremlin Database. + type: string + resourceGroupName: + description: The name of the resource group in which the Cosmos + DB Gremlin Database is created. Changing this forces a new resource + to be created. + type: string + throughput: + description: The throughput of the Gremlin database (RU/s). Must + be set in increments of 100. The minimum value is 400. + type: number + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_gremlingraphs.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_gremlingraphs.yaml new file mode 100644 index 000000000..80237a3ad --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_gremlingraphs.yaml @@ -0,0 +1,680 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: gremlingraphs.cosmosdb.azure.kubedb.com +spec: + group: cosmosdb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: GremlinGraph + listKind: GremlinGraphList + plural: gremlingraphs + singular: gremlingraph + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: GremlinGraph is the Schema for the GremlinGraphs API. Manages + a Gremlin Graph within a Cosmos DB Account. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: GremlinGraphSpec defines the desired state of GremlinGraph + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + accountName: + description: The name of the CosmosDB Account to create the Gremlin + Graph within. Changing this forces a new resource to be created. + type: string + autoscaleSettings: + description: An autoscale_settings block as defined below. Requires + partition_key_path to be set. + items: + properties: + maxThroughput: + description: The maximum throughput of the Gremlin graph + (RU/s). Must be between 1,000 and 1,000,000. Must be set + in increments of 1,000. Conflicts with throughput. + type: number + type: object + type: array + conflictResolutionPolicy: + description: A conflict_resolution_policy blocks as defined below. + Changing this forces a new resource to be created. + items: + properties: + conflictResolutionPath: + description: The conflict resolution path in the case of + LastWriterWins mode. + type: string + conflictResolutionProcedure: + description: The procedure to resolve conflicts in the case + of custom mode. + type: string + mode: + description: 'Indicates the conflict resolution mode. Possible + values include: LastWriterWins, Custom.' + type: string + required: + - mode + type: object + type: array + databaseName: + description: The name of the Cosmos DB Graph Database in which + the Cosmos DB Gremlin Graph is created. Changing this forces + a new resource to be created. + type: string + databaseNameRef: + description: Reference to a GremlinDatabase to populate databaseName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + databaseNameSelector: + description: Selector for a GremlinDatabase to populate databaseName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + defaultTtl: + description: The default time to live (TTL) of the Gremlin graph. + If the value is missing or set to "-1", items don’t expire. + type: number + indexPolicy: + description: The configuration of the indexing policy. One or + more index_policy blocks as defined below. + items: + properties: + automatic: + description: Indicates if the indexing policy is automatic. + Defaults to true. + type: boolean + compositeIndex: + description: One or more composite_index blocks as defined + below. + items: + properties: + index: + description: One or more index blocks as defined below. + items: + properties: + order: + description: Order of the index. Possible values + are Ascending or Descending. + type: string + path: + description: Path for which the indexing behaviour + applies to. According to the service design, + all spatial types including LineString, MultiPolygon, + Point, and Polygon will be applied to the + path. + type: string + required: + - order + - path + type: object + type: array + required: + - index + type: object + type: array + excludedPaths: + description: List of paths to exclude from indexing. Required + if indexing_mode is Consistent or Lazy. + items: + type: string + type: array + includedPaths: + description: List of paths to include in the indexing. Required + if indexing_mode is Consistent or Lazy. + items: + type: string + type: array + indexingMode: + description: 'Indicates the indexing mode. Possible values + include: Consistent, Lazy, None.' + type: string + spatialIndex: + description: One or more spatial_index blocks as defined + below. + items: + properties: + path: + description: Path for which the indexing behaviour + applies to. According to the service design, all + spatial types including LineString, MultiPolygon, + Point, and Polygon will be applied to the path. + type: string + required: + - path + type: object + type: array + required: + - indexingMode + type: object + type: array + partitionKeyPath: + description: Define a partition key. Changing this forces a new + resource to be created. + type: string + partitionKeyVersion: + description: Define a partition key version. Changing this forces + a new resource to be created. Possible values are 1and 2. This + should be set to 2 in order to use large partition keys. + type: number + resourceGroupName: + description: The name of the resource group in which the Cosmos + DB Gremlin Graph is created. Changing this forces a new resource + to be created. + type: string + throughput: + description: The throughput of the Gremlin graph (RU/s). Must + be set in increments of 100. The minimum value is 400. + type: number + uniqueKey: + description: One or more unique_key blocks as defined below. Changing + this forces a new resource to be created. + items: + properties: + paths: + description: A list of paths to use for this unique key. + Changing this forces a new resource to be created. + items: + type: string + type: array + required: + - paths + type: object + type: array + required: + - accountName + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: partitionKeyPath is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.partitionKeyPath) + status: + description: GremlinGraphStatus defines the observed state of GremlinGraph. + properties: + atProvider: + properties: + accountName: + description: The name of the CosmosDB Account to create the Gremlin + Graph within. Changing this forces a new resource to be created. + type: string + autoscaleSettings: + description: An autoscale_settings block as defined below. Requires + partition_key_path to be set. + items: + properties: + maxThroughput: + description: The maximum throughput of the Gremlin graph + (RU/s). Must be between 1,000 and 1,000,000. Must be set + in increments of 1,000. Conflicts with throughput. + type: number + type: object + type: array + conflictResolutionPolicy: + description: A conflict_resolution_policy blocks as defined below. + Changing this forces a new resource to be created. + items: + properties: + conflictResolutionPath: + description: The conflict resolution path in the case of + LastWriterWins mode. + type: string + conflictResolutionProcedure: + description: The procedure to resolve conflicts in the case + of custom mode. + type: string + mode: + description: 'Indicates the conflict resolution mode. Possible + values include: LastWriterWins, Custom.' + type: string + type: object + type: array + databaseName: + description: The name of the Cosmos DB Graph Database in which + the Cosmos DB Gremlin Graph is created. Changing this forces + a new resource to be created. + type: string + defaultTtl: + description: The default time to live (TTL) of the Gremlin graph. + If the value is missing or set to "-1", items don’t expire. + type: number + id: + description: The ID of the CosmosDB Gremlin Graph. + type: string + indexPolicy: + description: The configuration of the indexing policy. One or + more index_policy blocks as defined below. + items: + properties: + automatic: + description: Indicates if the indexing policy is automatic. + Defaults to true. + type: boolean + compositeIndex: + description: One or more composite_index blocks as defined + below. + items: + properties: + index: + description: One or more index blocks as defined below. + items: + properties: + order: + description: Order of the index. Possible values + are Ascending or Descending. + type: string + path: + description: Path for which the indexing behaviour + applies to. According to the service design, + all spatial types including LineString, MultiPolygon, + Point, and Polygon will be applied to the + path. + type: string + type: object + type: array + type: object + type: array + excludedPaths: + description: List of paths to exclude from indexing. Required + if indexing_mode is Consistent or Lazy. + items: + type: string + type: array + includedPaths: + description: List of paths to include in the indexing. Required + if indexing_mode is Consistent or Lazy. + items: + type: string + type: array + indexingMode: + description: 'Indicates the indexing mode. Possible values + include: Consistent, Lazy, None.' + type: string + spatialIndex: + description: One or more spatial_index blocks as defined + below. + items: + properties: + path: + description: Path for which the indexing behaviour + applies to. According to the service design, all + spatial types including LineString, MultiPolygon, + Point, and Polygon will be applied to the path. + type: string + types: + items: + type: string + type: array + type: object + type: array + type: object + type: array + partitionKeyPath: + description: Define a partition key. Changing this forces a new + resource to be created. + type: string + partitionKeyVersion: + description: Define a partition key version. Changing this forces + a new resource to be created. Possible values are 1and 2. This + should be set to 2 in order to use large partition keys. + type: number + resourceGroupName: + description: The name of the resource group in which the Cosmos + DB Gremlin Graph is created. Changing this forces a new resource + to be created. + type: string + throughput: + description: The throughput of the Gremlin graph (RU/s). Must + be set in increments of 100. The minimum value is 400. + type: number + uniqueKey: + description: One or more unique_key blocks as defined below. Changing + this forces a new resource to be created. + items: + properties: + paths: + description: A list of paths to use for this unique key. + Changing this forces a new resource to be created. + items: + type: string + type: array + type: object + type: array + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_mongocollections.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_mongocollections.yaml new file mode 100644 index 000000000..742414938 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_mongocollections.yaml @@ -0,0 +1,522 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: mongocollections.cosmosdb.azure.kubedb.com +spec: + group: cosmosdb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: MongoCollection + listKind: MongoCollectionList + plural: mongocollections + singular: mongocollection + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: MongoCollection is the Schema for the MongoCollections API. Manages + a Mongo Collection within a Cosmos DB Account. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: MongoCollectionSpec defines the desired state of MongoCollection + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + accountName: + description: The name of the Cosmos DB Account in which the Cosmos + DB Mongo Collection is created. Changing this forces a new resource + to be created. + type: string + analyticalStorageTtl: + description: The default time to live of Analytical Storage for + this Mongo Collection. If present and the value is set to -1, + it is equal to infinity, and items don’t expire by default. + If present and the value is set to some number n – items will + expire n seconds after their last modified time. + type: number + autoscaleSettings: + description: An autoscale_settings block as defined below. + items: + properties: + maxThroughput: + description: The maximum throughput of the MongoDB collection + (RU/s). Must be between 1,000 and 1,000,000. Must be set + in increments of 1,000. Conflicts with throughput. + type: number + type: object + type: array + databaseName: + description: The name of the Cosmos DB Mongo Database in which + the Cosmos DB Mongo Collection is created. Changing this forces + a new resource to be created. + type: string + databaseNameRef: + description: Reference to a MongoDatabase to populate databaseName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + databaseNameSelector: + description: Selector for a MongoDatabase to populate databaseName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + defaultTtlSeconds: + description: The default Time To Live in seconds. If the value + is -1, items are not automatically expired. + type: number + index: + description: One or more index blocks as defined below. + items: + properties: + keys: + description: Specifies the list of user settable keys for + each Cosmos DB Mongo Collection. + items: + type: string + type: array + unique: + description: Is the index unique or not? Defaults to false. + type: boolean + required: + - keys + type: object + type: array + resourceGroupName: + description: The name of the resource group in which the Cosmos + DB Mongo Collection is created. Changing this forces a new resource + to be created. + type: string + shardKey: + description: The name of the key to partition on for sharding. + There must not be any other unique index keys. Changing this + forces a new resource to be created. + type: string + throughput: + description: The throughput of the MongoDB collection (RU/s). + Must be set in increments of 100. The minimum value is 400. + type: number + required: + - accountName + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: MongoCollectionStatus defines the observed state of MongoCollection. + properties: + atProvider: + properties: + accountName: + description: The name of the Cosmos DB Account in which the Cosmos + DB Mongo Collection is created. Changing this forces a new resource + to be created. + type: string + analyticalStorageTtl: + description: The default time to live of Analytical Storage for + this Mongo Collection. If present and the value is set to -1, + it is equal to infinity, and items don’t expire by default. + If present and the value is set to some number n – items will + expire n seconds after their last modified time. + type: number + autoscaleSettings: + description: An autoscale_settings block as defined below. + items: + properties: + maxThroughput: + description: The maximum throughput of the MongoDB collection + (RU/s). Must be between 1,000 and 1,000,000. Must be set + in increments of 1,000. Conflicts with throughput. + type: number + type: object + type: array + databaseName: + description: The name of the Cosmos DB Mongo Database in which + the Cosmos DB Mongo Collection is created. Changing this forces + a new resource to be created. + type: string + defaultTtlSeconds: + description: The default Time To Live in seconds. If the value + is -1, items are not automatically expired. + type: number + id: + description: The ID of the Cosmos DB Mongo Collection. + type: string + index: + description: One or more index blocks as defined below. + items: + properties: + keys: + description: Specifies the list of user settable keys for + each Cosmos DB Mongo Collection. + items: + type: string + type: array + unique: + description: Is the index unique or not? Defaults to false. + type: boolean + type: object + type: array + resourceGroupName: + description: The name of the resource group in which the Cosmos + DB Mongo Collection is created. Changing this forces a new resource + to be created. + type: string + shardKey: + description: The name of the key to partition on for sharding. + There must not be any other unique index keys. Changing this + forces a new resource to be created. + type: string + systemIndexes: + description: One or more system_indexes blocks as defined below. + items: + properties: + keys: + description: The list of system keys which are not settable + for each Cosmos DB Mongo Collection. + items: + type: string + type: array + unique: + description: Identifies whether the table contains no duplicate + values. + type: boolean + type: object + type: array + throughput: + description: The throughput of the MongoDB collection (RU/s). + Must be set in increments of 100. The minimum value is 400. + type: number + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_mongodatabases.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_mongodatabases.yaml new file mode 100644 index 000000000..ccfa9c0e7 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_mongodatabases.yaml @@ -0,0 +1,359 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: mongodatabases.cosmosdb.azure.kubedb.com +spec: + group: cosmosdb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: MongoDatabase + listKind: MongoDatabaseList + plural: mongodatabases + singular: mongodatabase + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: MongoDatabase is the Schema for the MongoDatabases API. Manages + a Mongo Database within a Cosmos DB Account. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: MongoDatabaseSpec defines the desired state of MongoDatabase + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + accountName: + description: The name of the Cosmos DB Mongo Database to create + the table within. Changing this forces a new resource to be + created. + type: string + autoscaleSettings: + description: An autoscale_settings block as defined below. + items: + properties: + maxThroughput: + description: The maximum throughput of the MongoDB database + (RU/s). Must be between 1,000 and 1,000,000. Must be set + in increments of 1,000. Conflicts with throughput. + type: number + type: object + type: array + resourceGroupName: + description: The name of the resource group in which the Cosmos + DB Mongo Database is created. Changing this forces a new resource + to be created. + type: string + throughput: + description: The throughput of the MongoDB database (RU/s). Must + be set in increments of 100. The minimum value is 400. + type: number + required: + - accountName + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: MongoDatabaseStatus defines the observed state of MongoDatabase. + properties: + atProvider: + properties: + accountName: + description: The name of the Cosmos DB Mongo Database to create + the table within. Changing this forces a new resource to be + created. + type: string + autoscaleSettings: + description: An autoscale_settings block as defined below. + items: + properties: + maxThroughput: + description: The maximum throughput of the MongoDB database + (RU/s). Must be between 1,000 and 1,000,000. Must be set + in increments of 1,000. Conflicts with throughput. + type: number + type: object + type: array + id: + description: The ID of the Cosmos DB Mongo Database. + type: string + resourceGroupName: + description: The name of the resource group in which the Cosmos + DB Mongo Database is created. Changing this forces a new resource + to be created. + type: string + throughput: + description: The throughput of the MongoDB database (RU/s). Must + be set in increments of 100. The minimum value is 400. + type: number + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlcontainers.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlcontainers.yaml new file mode 100644 index 000000000..bd9394ae8 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlcontainers.yaml @@ -0,0 +1,725 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: sqlcontainers.cosmosdb.azure.kubedb.com +spec: + group: cosmosdb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: SQLContainer + listKind: SQLContainerList + plural: sqlcontainers + singular: sqlcontainer + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: SQLContainer is the Schema for the SQLContainers API. Manages + a SQL Container within a Cosmos DB Account. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SQLContainerSpec defines the desired state of SQLContainer + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + accountName: + description: The name of the Cosmos DB Account to create the container + within. Changing this forces a new resource to be created. + type: string + analyticalStorageTtl: + description: The default time to live of Analytical Storage for + this SQL container. If present and the value is set to -1, it + is equal to infinity, and items don’t expire by default. If + present and the value is set to some number n – items will expire + n seconds after their last modified time. + type: number + autoscaleSettings: + description: An autoscale_settings block as defined below. Requires + partition_key_path to be set. + items: + properties: + maxThroughput: + description: The maximum throughput of the SQL container + (RU/s). Must be between 1,000 and 1,000,000. Must be set + in increments of 1,000. Conflicts with throughput. + type: number + type: object + type: array + conflictResolutionPolicy: + description: A conflict_resolution_policy blocks as defined below. + Changing this forces a new resource to be created. + items: + properties: + conflictResolutionPath: + description: The conflict resolution path in the case of + LastWriterWins mode. + type: string + conflictResolutionProcedure: + description: The procedure to resolve conflicts in the case + of Custom mode. + type: string + mode: + description: 'Indicates the conflict resolution mode. Possible + values include: LastWriterWins, Custom.' + type: string + required: + - mode + type: object + type: array + databaseName: + description: The name of the Cosmos DB SQL Database to create + the container within. Changing this forces a new resource to + be created. + type: string + databaseNameRef: + description: Reference to a SQLDatabase to populate databaseName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + databaseNameSelector: + description: Selector for a SQLDatabase to populate databaseName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + defaultTtl: + description: The default time to live of SQL container. If missing, + items are not expired automatically. If present and the value + is set to -1, it is equal to infinity, and items don’t expire + by default. If present and the value is set to some number n + – items will expire n seconds after their last modified time. + type: number + indexingPolicy: + description: An indexing_policy block as defined below. + items: + properties: + compositeIndex: + description: One or more composite_index blocks as defined + below. + items: + properties: + index: + description: One or more index blocks as defined below. + items: + properties: + order: + description: Order of the index. Possible values + are Ascending or Descending. + type: string + path: + description: Path for which the indexing behaviour + applies to. According to the service design, + all spatial types including LineString, MultiPolygon, + Point, and Polygon will be applied to the + path. + type: string + required: + - order + - path + type: object + type: array + required: + - index + type: object + type: array + excludedPath: + description: One or more excluded_path blocks as defined + below. Either included_path or excluded_path must contain + the path /* + items: + properties: + path: + description: Path for which the indexing behaviour + applies to. According to the service design, all + spatial types including LineString, MultiPolygon, + Point, and Polygon will be applied to the path. + type: string + required: + - path + type: object + type: array + includedPath: + description: One or more included_path blocks as defined + below. Either included_path or excluded_path must contain + the path /* + items: + properties: + path: + description: Path for which the indexing behaviour + applies to. According to the service design, all + spatial types including LineString, MultiPolygon, + Point, and Polygon will be applied to the path. + type: string + required: + - path + type: object + type: array + indexingMode: + description: 'Indicates the indexing mode. Possible values + include: consistent and none. Defaults to consistent.' + type: string + spatialIndex: + description: One or more spatial_index blocks as defined + below. + items: + properties: + path: + description: Path for which the indexing behaviour + applies to. According to the service design, all + spatial types including LineString, MultiPolygon, + Point, and Polygon will be applied to the path. + type: string + required: + - path + type: object + type: array + type: object + type: array + partitionKeyPath: + description: Define a partition key. Changing this forces a new + resource to be created. + type: string + partitionKeyVersion: + description: Define a partition key version. Changing this forces + a new resource to be created. Possible values are 1and 2. This + should be set to 2 in order to use large partition keys. + type: number + resourceGroupName: + description: The name of the resource group in which the Cosmos + DB SQL Container is created. Changing this forces a new resource + to be created. + type: string + throughput: + description: The throughput of SQL container (RU/s). Must be set + in increments of 100. The minimum value is 400. + type: number + uniqueKey: + description: One or more unique_key blocks as defined below. Changing + this forces a new resource to be created. + items: + properties: + paths: + description: A list of paths to use for this unique key. + Changing this forces a new resource to be created. + items: + type: string + type: array + required: + - paths + type: object + type: array + required: + - accountName + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: partitionKeyPath is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.partitionKeyPath) + status: + description: SQLContainerStatus defines the observed state of SQLContainer. + properties: + atProvider: + properties: + accountName: + description: The name of the Cosmos DB Account to create the container + within. Changing this forces a new resource to be created. + type: string + analyticalStorageTtl: + description: The default time to live of Analytical Storage for + this SQL container. If present and the value is set to -1, it + is equal to infinity, and items don’t expire by default. If + present and the value is set to some number n – items will expire + n seconds after their last modified time. + type: number + autoscaleSettings: + description: An autoscale_settings block as defined below. Requires + partition_key_path to be set. + items: + properties: + maxThroughput: + description: The maximum throughput of the SQL container + (RU/s). Must be between 1,000 and 1,000,000. Must be set + in increments of 1,000. Conflicts with throughput. + type: number + type: object + type: array + conflictResolutionPolicy: + description: A conflict_resolution_policy blocks as defined below. + Changing this forces a new resource to be created. + items: + properties: + conflictResolutionPath: + description: The conflict resolution path in the case of + LastWriterWins mode. + type: string + conflictResolutionProcedure: + description: The procedure to resolve conflicts in the case + of Custom mode. + type: string + mode: + description: 'Indicates the conflict resolution mode. Possible + values include: LastWriterWins, Custom.' + type: string + type: object + type: array + databaseName: + description: The name of the Cosmos DB SQL Database to create + the container within. Changing this forces a new resource to + be created. + type: string + defaultTtl: + description: The default time to live of SQL container. If missing, + items are not expired automatically. If present and the value + is set to -1, it is equal to infinity, and items don’t expire + by default. If present and the value is set to some number n + – items will expire n seconds after their last modified time. + type: number + id: + description: The ID of the CosmosDB SQL Container. + type: string + indexingPolicy: + description: An indexing_policy block as defined below. + items: + properties: + compositeIndex: + description: One or more composite_index blocks as defined + below. + items: + properties: + index: + description: One or more index blocks as defined below. + items: + properties: + order: + description: Order of the index. Possible values + are Ascending or Descending. + type: string + path: + description: Path for which the indexing behaviour + applies to. According to the service design, + all spatial types including LineString, MultiPolygon, + Point, and Polygon will be applied to the + path. + type: string + type: object + type: array + type: object + type: array + excludedPath: + description: One or more excluded_path blocks as defined + below. Either included_path or excluded_path must contain + the path /* + items: + properties: + path: + description: Path for which the indexing behaviour + applies to. According to the service design, all + spatial types including LineString, MultiPolygon, + Point, and Polygon will be applied to the path. + type: string + type: object + type: array + includedPath: + description: One or more included_path blocks as defined + below. Either included_path or excluded_path must contain + the path /* + items: + properties: + path: + description: Path for which the indexing behaviour + applies to. According to the service design, all + spatial types including LineString, MultiPolygon, + Point, and Polygon will be applied to the path. + type: string + type: object + type: array + indexingMode: + description: 'Indicates the indexing mode. Possible values + include: consistent and none. Defaults to consistent.' + type: string + spatialIndex: + description: One or more spatial_index blocks as defined + below. + items: + properties: + path: + description: Path for which the indexing behaviour + applies to. According to the service design, all + spatial types including LineString, MultiPolygon, + Point, and Polygon will be applied to the path. + type: string + types: + description: A set of spatial types of the path. + items: + type: string + type: array + type: object + type: array + type: object + type: array + partitionKeyPath: + description: Define a partition key. Changing this forces a new + resource to be created. + type: string + partitionKeyVersion: + description: Define a partition key version. Changing this forces + a new resource to be created. Possible values are 1and 2. This + should be set to 2 in order to use large partition keys. + type: number + resourceGroupName: + description: The name of the resource group in which the Cosmos + DB SQL Container is created. Changing this forces a new resource + to be created. + type: string + throughput: + description: The throughput of SQL container (RU/s). Must be set + in increments of 100. The minimum value is 400. + type: number + uniqueKey: + description: One or more unique_key blocks as defined below. Changing + this forces a new resource to be created. + items: + properties: + paths: + description: A list of paths to use for this unique key. + Changing this forces a new resource to be created. + items: + type: string + type: array + type: object + type: array + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqldatabases.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqldatabases.yaml new file mode 100644 index 000000000..254e529b4 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqldatabases.yaml @@ -0,0 +1,363 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: sqldatabases.cosmosdb.azure.kubedb.com +spec: + group: cosmosdb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: SQLDatabase + listKind: SQLDatabaseList + plural: sqldatabases + singular: sqldatabase + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: SQLDatabase is the Schema for the SQLDatabases API. Manages a + SQL Database within a Cosmos DB Account. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SQLDatabaseSpec defines the desired state of SQLDatabase + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + accountName: + description: The name of the Cosmos DB SQL Database to create + the table within. Changing this forces a new resource to be + created. + type: string + autoscaleSettings: + description: An autoscale_settings block as defined below. + items: + properties: + maxThroughput: + description: The maximum throughput of the SQL database + (RU/s). Must be between 1,000 and 1,000,000. Must be set + in increments of 1,000. Conflicts with throughput. + type: number + type: object + type: array + resourceGroupName: + description: The name of the resource group in which the Cosmos + DB SQL Database is created. Changing this forces a new resource + to be created. + type: string + throughput: + description: The throughput of SQL database (RU/s). Must be set + in increments of 100. The minimum value is 400. Do not set when + azurerm_cosmosdb_account is configured with EnableServerless + capability. + type: number + required: + - accountName + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: SQLDatabaseStatus defines the observed state of SQLDatabase. + properties: + atProvider: + properties: + accountName: + description: The name of the Cosmos DB SQL Database to create + the table within. Changing this forces a new resource to be + created. + type: string + autoscaleSettings: + description: An autoscale_settings block as defined below. + items: + properties: + maxThroughput: + description: The maximum throughput of the SQL database + (RU/s). Must be between 1,000 and 1,000,000. Must be set + in increments of 1,000. Conflicts with throughput. + type: number + type: object + type: array + id: + description: The ID of the CosmosDB SQL Database. + type: string + resourceGroupName: + description: The name of the resource group in which the Cosmos + DB SQL Database is created. Changing this forces a new resource + to be created. + type: string + throughput: + description: The throughput of SQL database (RU/s). Must be set + in increments of 100. The minimum value is 400. Do not set when + azurerm_cosmosdb_account is configured with EnableServerless + capability. + type: number + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqldedicatedgateways.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqldedicatedgateways.yaml new file mode 100644 index 000000000..9bfb9d89e --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqldedicatedgateways.yaml @@ -0,0 +1,339 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: sqldedicatedgateways.cosmosdb.azure.kubedb.com +spec: + group: cosmosdb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: SQLDedicatedGateway + listKind: SQLDedicatedGatewayList + plural: sqldedicatedgateways + singular: sqldedicatedgateway + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: SQLDedicatedGateway is the Schema for the SQLDedicatedGateways + API. Manages a SQL Dedicated Gateway within a Cosmos DB Account. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SQLDedicatedGatewaySpec defines the desired state of SQLDedicatedGateway + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + cosmosdbAccountId: + description: The resource ID of the CosmosDB Account. Changing + this forces a new resource to be created. + type: string + instanceCount: + description: The instance count for the CosmosDB SQL Dedicated + Gateway. Possible value is between 1 and 5. + type: number + instanceSize: + description: The instance size for the CosmosDB SQL Dedicated + Gateway. Changing this forces a new resource to be created. + Possible values are Cosmos.D4s, Cosmos.D8s and Cosmos.D16s. + type: string + required: + - cosmosdbAccountId + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: instanceCount is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.instanceCount) + - message: instanceSize is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.instanceSize) + status: + description: SQLDedicatedGatewayStatus defines the observed state of SQLDedicatedGateway. + properties: + atProvider: + properties: + cosmosdbAccountId: + description: The resource ID of the CosmosDB Account. Changing + this forces a new resource to be created. + type: string + id: + description: The ID of the CosmosDB SQL Dedicated Gateway. + type: string + instanceCount: + description: The instance count for the CosmosDB SQL Dedicated + Gateway. Possible value is between 1 and 5. + type: number + instanceSize: + description: The instance size for the CosmosDB SQL Dedicated + Gateway. Changing this forces a new resource to be created. + Possible values are Cosmos.D4s, Cosmos.D8s and Cosmos.D16s. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlfunctions.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlfunctions.yaml new file mode 100644 index 000000000..471c92607 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlfunctions.yaml @@ -0,0 +1,398 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: sqlfunctions.cosmosdb.azure.kubedb.com +spec: + group: cosmosdb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: SQLFunction + listKind: SQLFunctionList + plural: sqlfunctions + singular: sqlfunction + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: SQLFunction is the Schema for the SQLFunctions API. Manages an + SQL User Defined Function. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SQLFunctionSpec defines the desired state of SQLFunction + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + body: + description: Body of the User Defined Function. + type: string + containerId: + description: The id of the Cosmos DB SQL Container to create the + SQL User Defined Function within. Changing this forces a new + SQL User Defined Function to be created. + type: string + containerIdRef: + description: Reference to a SQLContainer to populate containerId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + containerIdSelector: + description: Selector for a SQLContainer to populate containerId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: body is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.body) + status: + description: SQLFunctionStatus defines the observed state of SQLFunction. + properties: + atProvider: + properties: + body: + description: Body of the User Defined Function. + type: string + containerId: + description: The id of the Cosmos DB SQL Container to create the + SQL User Defined Function within. Changing this forces a new + SQL User Defined Function to be created. + type: string + id: + description: The ID of the SQL User Defined Function. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlroleassignments.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlroleassignments.yaml new file mode 100644 index 000000000..2d46c1317 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlroleassignments.yaml @@ -0,0 +1,369 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: sqlroleassignments.cosmosdb.azure.kubedb.com +spec: + group: cosmosdb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: SQLRoleAssignment + listKind: SQLRoleAssignmentList + plural: sqlroleassignments + singular: sqlroleassignment + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: SQLRoleAssignment is the Schema for the SQLRoleAssignments API. + Manages a Cosmos DB SQL Role Assignment. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SQLRoleAssignmentSpec defines the desired state of SQLRoleAssignment + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + accountName: + description: The name of the Cosmos DB Account. Changing this + forces a new resource to be created. + type: string + name: + description: The GUID as the name of the Cosmos DB SQL Role Assignment + - one will be generated if not specified. Changing this forces + a new resource to be created. + type: string + principalId: + description: The ID of the Principal (Client) in Azure Active + Directory. Changing this forces a new resource to be created. + type: string + resourceGroupName: + description: The name of the Resource Group in which the Cosmos + DB SQL Role Assignment is created. Changing this forces a new + resource to be created. + type: string + roleDefinitionId: + description: The resource ID of the Cosmos DB SQL Role Definition. + type: string + scope: + description: The data plane resource path for which access is + being granted through this Cosmos DB SQL Role Assignment. Changing + this forces a new resource to be created. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: accountName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.accountName) + - message: principalId is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.principalId) + - message: resourceGroupName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.resourceGroupName) + - message: roleDefinitionId is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.roleDefinitionId) + - message: scope is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.scope) + status: + description: SQLRoleAssignmentStatus defines the observed state of SQLRoleAssignment. + properties: + atProvider: + properties: + accountName: + description: The name of the Cosmos DB Account. Changing this + forces a new resource to be created. + type: string + id: + description: The ID of the Cosmos DB SQL Role Assignment. + type: string + name: + description: The GUID as the name of the Cosmos DB SQL Role Assignment + - one will be generated if not specified. Changing this forces + a new resource to be created. + type: string + principalId: + description: The ID of the Principal (Client) in Azure Active + Directory. Changing this forces a new resource to be created. + type: string + resourceGroupName: + description: The name of the Resource Group in which the Cosmos + DB SQL Role Assignment is created. Changing this forces a new + resource to be created. + type: string + roleDefinitionId: + description: The resource ID of the Cosmos DB SQL Role Definition. + type: string + scope: + description: The data plane resource path for which access is + being granted through this Cosmos DB SQL Role Assignment. Changing + this forces a new resource to be created. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlroledefinitions.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlroledefinitions.yaml new file mode 100644 index 000000000..12ce99528 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlroledefinitions.yaml @@ -0,0 +1,409 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: sqlroledefinitions.cosmosdb.azure.kubedb.com +spec: + group: cosmosdb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: SQLRoleDefinition + listKind: SQLRoleDefinitionList + plural: sqlroledefinitions + singular: sqlroledefinition + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: SQLRoleDefinition is the Schema for the SQLRoleDefinitions API. + Manages a Cosmos DB SQL Role Definition. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SQLRoleDefinitionSpec defines the desired state of SQLRoleDefinition + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + accountName: + description: The name of the Cosmos DB Account. Changing this + forces a new resource to be created. + type: string + assignableScopes: + description: A list of fully qualified scopes at or below which + Role Assignments may be created using this Cosmos DB SQL Role + Definition. It will allow application of this Cosmos DB SQL + Role Definition on the entire Database Account or any underlying + Database/Collection. Scopes higher than Database Account are + not enforceable as assignable scopes. + items: + type: string + type: array + name: + description: An user-friendly name for the Cosmos DB SQL Role + Definition which must be unique for the Database Account. + type: string + permissions: + description: A permissions block as defined below. + items: + properties: + dataActions: + description: A list of data actions that are allowed for + the Cosmos DB SQL Role Definition. + items: + type: string + type: array + required: + - dataActions + type: object + type: array + resourceGroupName: + description: The name of the Resource Group in which the Cosmos + DB SQL Role Definition is created. Changing this forces a new + resource to be created. + type: string + roleDefinitionId: + description: The GUID as the name of the Cosmos DB SQL Role Definition + - one will be generated if not specified. Changing this forces + a new resource to be created. + type: string + type: + description: The type of the Cosmos DB SQL Role Definition. Possible + values are BuiltInRole and CustomRole. Defaults to CustomRole. + Changing this forces a new resource to be created. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: accountName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.accountName) + - message: assignableScopes is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.assignableScopes) + - message: name is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name) + - message: permissions is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.permissions) + - message: resourceGroupName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.resourceGroupName) + status: + description: SQLRoleDefinitionStatus defines the observed state of SQLRoleDefinition. + properties: + atProvider: + properties: + accountName: + description: The name of the Cosmos DB Account. Changing this + forces a new resource to be created. + type: string + assignableScopes: + description: A list of fully qualified scopes at or below which + Role Assignments may be created using this Cosmos DB SQL Role + Definition. It will allow application of this Cosmos DB SQL + Role Definition on the entire Database Account or any underlying + Database/Collection. Scopes higher than Database Account are + not enforceable as assignable scopes. + items: + type: string + type: array + id: + description: The ID of the Cosmos DB SQL Role Definition. + type: string + name: + description: An user-friendly name for the Cosmos DB SQL Role + Definition which must be unique for the Database Account. + type: string + permissions: + description: A permissions block as defined below. + items: + properties: + dataActions: + description: A list of data actions that are allowed for + the Cosmos DB SQL Role Definition. + items: + type: string + type: array + type: object + type: array + resourceGroupName: + description: The name of the Resource Group in which the Cosmos + DB SQL Role Definition is created. Changing this forces a new + resource to be created. + type: string + roleDefinitionId: + description: The GUID as the name of the Cosmos DB SQL Role Definition + - one will be generated if not specified. Changing this forces + a new resource to be created. + type: string + type: + description: The type of the Cosmos DB SQL Role Definition. Possible + values are BuiltInRole and CustomRole. Defaults to CustomRole. + Changing this forces a new resource to be created. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlstoredprocedures.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlstoredprocedures.yaml new file mode 100644 index 000000000..0e42b2c91 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqlstoredprocedures.yaml @@ -0,0 +1,504 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: sqlstoredprocedures.cosmosdb.azure.kubedb.com +spec: + group: cosmosdb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: SQLStoredProcedure + listKind: SQLStoredProcedureList + plural: sqlstoredprocedures + singular: sqlstoredprocedure + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: SQLStoredProcedure is the Schema for the SQLStoredProcedures + API. Manages a SQL Stored Procedure within a Cosmos DB Account SQL Database. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SQLStoredProcedureSpec defines the desired state of SQLStoredProcedure + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + accountName: + description: The name of the Cosmos DB Account to create the stored + procedure within. Changing this forces a new resource to be + created. + type: string + body: + description: The body of the stored procedure. + type: string + containerName: + description: The name of the Cosmos DB SQL Container to create + the stored procedure within. Changing this forces a new resource + to be created. + type: string + containerNameRef: + description: Reference to a SQLContainer to populate containerName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + containerNameSelector: + description: Selector for a SQLContainer to populate containerName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + databaseName: + description: The name of the Cosmos DB SQL Database to create + the stored procedure within. Changing this forces a new resource + to be created. + type: string + databaseNameRef: + description: Reference to a SQLDatabase to populate databaseName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + databaseNameSelector: + description: Selector for a SQLDatabase to populate databaseName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + resourceGroupName: + description: The name of the resource group in which the Cosmos + DB SQL Database is created. Changing this forces a new resource + to be created. + type: string + required: + - accountName + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: body is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.body) + status: + description: SQLStoredProcedureStatus defines the observed state of SQLStoredProcedure. + properties: + atProvider: + properties: + accountName: + description: The name of the Cosmos DB Account to create the stored + procedure within. Changing this forces a new resource to be + created. + type: string + body: + description: The body of the stored procedure. + type: string + containerName: + description: The name of the Cosmos DB SQL Container to create + the stored procedure within. Changing this forces a new resource + to be created. + type: string + databaseName: + description: The name of the Cosmos DB SQL Database to create + the stored procedure within. Changing this forces a new resource + to be created. + type: string + id: + description: The ID of the Cosmos DB SQL Stored Procedure. + type: string + resourceGroupName: + description: The name of the resource group in which the Cosmos + DB SQL Database is created. Changing this forces a new resource + to be created. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqltriggers.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqltriggers.yaml new file mode 100644 index 000000000..3f1615ac4 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_sqltriggers.yaml @@ -0,0 +1,418 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: sqltriggers.cosmosdb.azure.kubedb.com +spec: + group: cosmosdb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: SQLTrigger + listKind: SQLTriggerList + plural: sqltriggers + singular: sqltrigger + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: SQLTrigger is the Schema for the SQLTriggers API. Manages an + SQL Trigger. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SQLTriggerSpec defines the desired state of SQLTrigger + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + body: + description: Body of the Trigger. + type: string + containerId: + description: The id of the Cosmos DB SQL Container to create the + SQL Trigger within. Changing this forces a new SQL Trigger to + be created. + type: string + containerIdRef: + description: Reference to a SQLContainer to populate containerId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + containerIdSelector: + description: Selector for a SQLContainer to populate containerId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + operation: + description: The operation the trigger is associated with. Possible + values are All, Create, Update, Delete and Replace. + type: string + type: + description: Type of the Trigger. Possible values are Pre and + Post. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: body is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.body) + - message: operation is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.operation) + - message: type is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.type) + status: + description: SQLTriggerStatus defines the observed state of SQLTrigger. + properties: + atProvider: + properties: + body: + description: Body of the Trigger. + type: string + containerId: + description: The id of the Cosmos DB SQL Container to create the + SQL Trigger within. Changing this forces a new SQL Trigger to + be created. + type: string + id: + description: The ID of the SQL Trigger. + type: string + operation: + description: The operation the trigger is associated with. Possible + values are All, Create, Update, Delete and Replace. + type: string + type: + description: Type of the Trigger. Possible values are Pre and + Post. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_tables.yaml b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_tables.yaml new file mode 100644 index 000000000..4091d8fbd --- /dev/null +++ b/charts/kubedb-provider-azure/crds/cosmosdb.azure.kubedb.com_tables.yaml @@ -0,0 +1,357 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: tables.cosmosdb.azure.kubedb.com +spec: + group: cosmosdb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: Table + listKind: TableList + plural: tables + singular: table + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Table is the Schema for the Tables API. Manages a Table within + a Cosmos DB Account. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: TableSpec defines the desired state of Table + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + accountName: + description: The name of the Cosmos DB Table to create the table + within. Changing this forces a new resource to be created. + type: string + autoscaleSettings: + description: An autoscale_settings block as defined below. + items: + properties: + maxThroughput: + description: The maximum throughput of the Table (RU/s). + Must be between 1,000 and 1,000,000. Must be set in increments + of 1,000. Conflicts with throughput. + type: number + type: object + type: array + resourceGroupName: + description: The name of the resource group in which the Cosmos + DB Table is created. Changing this forces a new resource to + be created. + type: string + throughput: + description: The throughput of Table (RU/s). Must be set in increments + of 100. The minimum value is 400. + type: number + required: + - accountName + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: TableStatus defines the observed state of Table. + properties: + atProvider: + properties: + accountName: + description: The name of the Cosmos DB Table to create the table + within. Changing this forces a new resource to be created. + type: string + autoscaleSettings: + description: An autoscale_settings block as defined below. + items: + properties: + maxThroughput: + description: The maximum throughput of the Table (RU/s). + Must be between 1,000 and 1,000,000. Must be set in increments + of 1,000. Conflicts with throughput. + type: number + type: object + type: array + id: + description: The ID of the CosmosDB Table. + type: string + resourceGroupName: + description: The name of the resource group in which the Cosmos + DB Table is created. Changing this forces a new resource to + be created. + type: string + throughput: + description: The throughput of Table (RU/s). Must be set in increments + of 100. The minimum value is 400. + type: number + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_configurations.yaml b/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_configurations.yaml new file mode 100644 index 000000000..2f0988163 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_configurations.yaml @@ -0,0 +1,351 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: configurations.dbformariadb.azure.kubedb.com +spec: + group: dbformariadb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: Configuration + listKind: ConfigurationList + plural: configurations + singular: configuration + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Configuration is the Schema for the Configurations API. Sets + a MariaDB Configuration value on a MariaDB Server. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ConfigurationSpec defines the desired state of Configuration + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + name: + description: Specifies the name of the MariaDB Configuration, + which needs to be a valid MariaDB configuration name. Changing + this forces a new resource to be created. + type: string + resourceGroupName: + description: The name of the resource group in which the MariaDB + Server exists. Changing this forces a new resource to be created. + type: string + serverName: + description: Specifies the name of the MariaDB Server. Changing + this forces a new resource to be created. + type: string + value: + description: Specifies the value of the MariaDB Configuration. + See the MariaDB documentation for valid values. Changing this + forces a new resource to be created. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: name is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name) + - message: resourceGroupName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.resourceGroupName) + - message: serverName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.serverName) + - message: value is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.value) + status: + description: ConfigurationStatus defines the observed state of Configuration. + properties: + atProvider: + properties: + id: + description: The ID of the MariaDB Configuration. + type: string + name: + description: Specifies the name of the MariaDB Configuration, + which needs to be a valid MariaDB configuration name. Changing + this forces a new resource to be created. + type: string + resourceGroupName: + description: The name of the resource group in which the MariaDB + Server exists. Changing this forces a new resource to be created. + type: string + serverName: + description: Specifies the name of the MariaDB Server. Changing + this forces a new resource to be created. + type: string + value: + description: Specifies the value of the MariaDB Configuration. + See the MariaDB documentation for valid values. Changing this + forces a new resource to be created. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_databases.yaml b/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_databases.yaml new file mode 100644 index 000000000..8e647ed59 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_databases.yaml @@ -0,0 +1,350 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: databases.dbformariadb.azure.kubedb.com +spec: + group: dbformariadb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: Database + listKind: DatabaseList + plural: databases + singular: database + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Database is the Schema for the Databases API. Manages a MariaDB + Database within a MariaDB Server. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: DatabaseSpec defines the desired state of Database + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + charset: + description: Specifies the Charset for the MariaDB Database, which + needs to be a valid MariaDB Charset. Changing this forces a + new resource to be created. + type: string + collation: + description: Specifies the Collation for the MariaDB Database, + which needs to be a valid MariaDB Collation. Changing this forces + a new resource to be created. + type: string + resourceGroupName: + description: The name of the resource group in which the MariaDB + Server exists. Changing this forces a new resource to be created. + type: string + serverName: + description: Specifies the name of the MariaDB Server. Changing + this forces a new resource to be created. + type: string + required: + - resourceGroupName + - serverName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: charset is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.charset) + - message: collation is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.collation) + status: + description: DatabaseStatus defines the observed state of Database. + properties: + atProvider: + properties: + charset: + description: Specifies the Charset for the MariaDB Database, which + needs to be a valid MariaDB Charset. Changing this forces a + new resource to be created. + type: string + collation: + description: Specifies the Collation for the MariaDB Database, + which needs to be a valid MariaDB Collation. Changing this forces + a new resource to be created. + type: string + id: + description: The ID of the MariaDB Database. + type: string + resourceGroupName: + description: The name of the resource group in which the MariaDB + Server exists. Changing this forces a new resource to be created. + type: string + serverName: + description: Specifies the name of the MariaDB Server. Changing + this forces a new resource to be created. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_firewallrules.yaml b/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_firewallrules.yaml new file mode 100644 index 000000000..d8f15cef7 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_firewallrules.yaml @@ -0,0 +1,346 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: firewallrules.dbformariadb.azure.kubedb.com +spec: + group: dbformariadb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: FirewallRule + listKind: FirewallRuleList + plural: firewallrules + singular: firewallrule + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: FirewallRule is the Schema for the FirewallRules API. Manages + a Firewall Rule for a MariaDB Server. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: FirewallRuleSpec defines the desired state of FirewallRule + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + endIpAddress: + description: Specifies the End IP Address associated with this + Firewall Rule. + type: string + resourceGroupName: + description: The name of the resource group in which the MariaDB + Server exists. Changing this forces a new resource to be created. + type: string + serverName: + description: Specifies the name of the MariaDB Server. Changing + this forces a new resource to be created. + type: string + startIpAddress: + description: Specifies the Start IP Address associated with this + Firewall Rule. + type: string + required: + - resourceGroupName + - serverName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: endIpAddress is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.endIpAddress) + - message: startIpAddress is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.startIpAddress) + status: + description: FirewallRuleStatus defines the observed state of FirewallRule. + properties: + atProvider: + properties: + endIpAddress: + description: Specifies the End IP Address associated with this + Firewall Rule. + type: string + id: + description: The ID of the MariaDB Firewall Rule. + type: string + resourceGroupName: + description: The name of the resource group in which the MariaDB + Server exists. Changing this forces a new resource to be created. + type: string + serverName: + description: Specifies the name of the MariaDB Server. Changing + this forces a new resource to be created. + type: string + startIpAddress: + description: Specifies the Start IP Address associated with this + Firewall Rule. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_servers.yaml b/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_servers.yaml new file mode 100644 index 000000000..df9986040 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_servers.yaml @@ -0,0 +1,511 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: servers.dbformariadb.azure.kubedb.com +spec: + group: dbformariadb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: Server + listKind: ServerList + plural: servers + singular: server + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Server is the Schema for the Servers API. Manages a MariaDB Server. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ServerSpec defines the desired state of Server + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + administratorLogin: + description: The Administrator login for the MariaDB Server. Changing + this forces a new resource to be created. + type: string + administratorLoginPasswordSecretRef: + description: The Password associated with the administrator_login + for the MariaDB Server. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + autoGrowEnabled: + description: Enable/Disable auto-growing of the storage. Storage + auto-grow prevents your server from running out of storage and + becoming read-only. If storage auto grow is enabled, the storage + automatically grows without impacting the workload. The default + value if not explicitly specified is true. + type: boolean + backupRetentionDays: + description: Backup retention days for the server, supported values + are between 7 and 35 days. + type: number + createMode: + description: The creation mode. Can be used to restore or replicate + existing servers. Possible values are Default, Replica, GeoRestore, + and PointInTimeRestore. Defaults to Default. + type: string + creationSourceServerId: + description: For creation modes other than Default, the source + server ID to use. + type: string + geoRedundantBackupEnabled: + description: Turn Geo-redundant server backups on/off. This allows + you to choose between locally redundant or geo-redundant backup + storage in the General Purpose and Memory Optimized tiers. When + the backups are stored in geo-redundant backup storage, they + are not only stored within the region in which your server is + hosted, but are also replicated to a paired data center. This + provides better protection and ability to restore your server + in a different region in the event of a disaster. This is not + supported for the Basic tier. + type: boolean + location: + description: Specifies the supported Azure location where the + resource exists. Changing this forces a new resource to be created. + type: string + publicNetworkAccessEnabled: + description: Whether or not public network access is allowed for + this server. Defaults to true. + type: boolean + resourceGroupName: + description: The name of the resource group in which to create + the MariaDB Server. Changing this forces a new resource to be + created. + type: string + restorePointInTime: + description: When create_mode is PointInTimeRestore, specifies + the point in time to restore from creation_source_server_id. + It should be provided in RFC3339 format, e.g. 2013-11-08T22:00:40Z. + type: string + skuName: + description: Specifies the SKU Name for this MariaDB Server. The + name of the SKU, follows the tier + family + cores pattern (e.g. + B_Gen4_1, GP_Gen5_8). For more information see the product documentation. + Possible values are B_Gen5_1, B_Gen5_2, GP_Gen5_2, GP_Gen5_4, + GP_Gen5_8, GP_Gen5_16, GP_Gen5_32, MO_Gen5_2, MO_Gen5_4, MO_Gen5_8 + and MO_Gen5_16. + type: string + sslEnforcementEnabled: + description: Specifies if SSL should be enforced on connections. + Possible values are true and false. + type: boolean + sslMinimalTlsVersionEnforced: + description: The minimum TLS version to support on the sever. + Possible values are TLSEnforcementDisabled, TLS1_0, TLS1_1, + and TLS1_2. Defaults to TLS1_2. + type: string + storageMb: + description: Max storage allowed for a server. Possible values + are between 5120 MB (5GB) and 1024000MB (1TB) for the Basic + SKU and between 5120 MB (5GB) and 4096000 MB (4TB) for General + Purpose/Memory Optimized SKUs. For more information see the + product documentation. + type: number + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the resource. + type: object + version: + description: Specifies the version of MariaDB to use. Possible + values are 10.2 and 10.3. Changing this forces a new resource + to be created. + type: string + required: + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: location is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location) + - message: skuName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.skuName) + - message: sslEnforcementEnabled is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.sslEnforcementEnabled) + - message: version is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.version) + status: + description: ServerStatus defines the observed state of Server. + properties: + atProvider: + properties: + administratorLogin: + description: The Administrator login for the MariaDB Server. Changing + this forces a new resource to be created. + type: string + autoGrowEnabled: + description: Enable/Disable auto-growing of the storage. Storage + auto-grow prevents your server from running out of storage and + becoming read-only. If storage auto grow is enabled, the storage + automatically grows without impacting the workload. The default + value if not explicitly specified is true. + type: boolean + backupRetentionDays: + description: Backup retention days for the server, supported values + are between 7 and 35 days. + type: number + createMode: + description: The creation mode. Can be used to restore or replicate + existing servers. Possible values are Default, Replica, GeoRestore, + and PointInTimeRestore. Defaults to Default. + type: string + creationSourceServerId: + description: For creation modes other than Default, the source + server ID to use. + type: string + fqdn: + description: The FQDN of the MariaDB Server. + type: string + geoRedundantBackupEnabled: + description: Turn Geo-redundant server backups on/off. This allows + you to choose between locally redundant or geo-redundant backup + storage in the General Purpose and Memory Optimized tiers. When + the backups are stored in geo-redundant backup storage, they + are not only stored within the region in which your server is + hosted, but are also replicated to a paired data center. This + provides better protection and ability to restore your server + in a different region in the event of a disaster. This is not + supported for the Basic tier. + type: boolean + id: + description: The ID of the MariaDB Server. + type: string + location: + description: Specifies the supported Azure location where the + resource exists. Changing this forces a new resource to be created. + type: string + publicNetworkAccessEnabled: + description: Whether or not public network access is allowed for + this server. Defaults to true. + type: boolean + resourceGroupName: + description: The name of the resource group in which to create + the MariaDB Server. Changing this forces a new resource to be + created. + type: string + restorePointInTime: + description: When create_mode is PointInTimeRestore, specifies + the point in time to restore from creation_source_server_id. + It should be provided in RFC3339 format, e.g. 2013-11-08T22:00:40Z. + type: string + skuName: + description: Specifies the SKU Name for this MariaDB Server. The + name of the SKU, follows the tier + family + cores pattern (e.g. + B_Gen4_1, GP_Gen5_8). For more information see the product documentation. + Possible values are B_Gen5_1, B_Gen5_2, GP_Gen5_2, GP_Gen5_4, + GP_Gen5_8, GP_Gen5_16, GP_Gen5_32, MO_Gen5_2, MO_Gen5_4, MO_Gen5_8 + and MO_Gen5_16. + type: string + sslEnforcementEnabled: + description: Specifies if SSL should be enforced on connections. + Possible values are true and false. + type: boolean + sslMinimalTlsVersionEnforced: + description: The minimum TLS version to support on the sever. + Possible values are TLSEnforcementDisabled, TLS1_0, TLS1_1, + and TLS1_2. Defaults to TLS1_2. + type: string + storageMb: + description: Max storage allowed for a server. Possible values + are between 5120 MB (5GB) and 1024000MB (1TB) for the Basic + SKU and between 5120 MB (5GB) and 4096000 MB (4TB) for General + Purpose/Memory Optimized SKUs. For more information see the + product documentation. + type: number + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the resource. + type: object + version: + description: Specifies the version of MariaDB to use. Possible + values are 10.2 and 10.3. Changing this forces a new resource + to be created. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_virtualnetworkrules.yaml b/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_virtualnetworkrules.yaml new file mode 100644 index 000000000..eb8b33e03 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbformariadb.azure.kubedb.com_virtualnetworkrules.yaml @@ -0,0 +1,338 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: virtualnetworkrules.dbformariadb.azure.kubedb.com +spec: + group: dbformariadb.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: VirtualNetworkRule + listKind: VirtualNetworkRuleList + plural: virtualnetworkrules + singular: virtualnetworkrule + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: VirtualNetworkRule is the Schema for the VirtualNetworkRules + API. Manages a MariaDB Virtual Network Rule. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: VirtualNetworkRuleSpec defines the desired state of VirtualNetworkRule + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + resourceGroupName: + description: The name of the resource group where the MariaDB + server resides. Changing this forces a new resource to be created. + type: string + serverName: + description: The name of the SQL Server to which this MariaDB + virtual network rule will be applied to. Changing this forces + a new resource to be created. + type: string + subnetId: + description: The ID of the subnet that the MariaDB server will + be connected to. + type: string + required: + - resourceGroupName + - serverName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: subnetId is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.subnetId) + status: + description: VirtualNetworkRuleStatus defines the observed state of VirtualNetworkRule. + properties: + atProvider: + properties: + id: + description: The ID of the MariaDB Virtual Network Rule. + type: string + resourceGroupName: + description: The name of the resource group where the MariaDB + server resides. Changing this forces a new resource to be created. + type: string + serverName: + description: The name of the SQL Server to which this MariaDB + virtual network rule will be applied to. Changing this forces + a new resource to be created. + type: string + subnetId: + description: The ID of the subnet that the MariaDB server will + be connected to. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_activedirectoryadministrators.yaml b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_activedirectoryadministrators.yaml new file mode 100644 index 000000000..05af091a7 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_activedirectoryadministrators.yaml @@ -0,0 +1,357 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: activedirectoryadministrators.dbformysql.azure.kubedb.com +spec: + group: dbformysql.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: ActiveDirectoryAdministrator + listKind: ActiveDirectoryAdministratorList + plural: activedirectoryadministrators + singular: activedirectoryadministrator + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ActiveDirectoryAdministrator is the Schema for the ActiveDirectoryAdministrators + API. Manages an Active Directory administrator on a MySQL server + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ActiveDirectoryAdministratorSpec defines the desired state + of ActiveDirectoryAdministrator + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + login: + description: The login name of the principal to set as the server + administrator + type: string + objectId: + description: The ID of the principal to set as the server administrator. + For a managed identity this should be the Client ID of the identity. + type: string + resourceGroupName: + description: The name of the resource group for the MySQL server. + Changing this forces a new resource to be created. + type: string + serverName: + description: The name of the MySQL Server on which to set the + administrator. Changing this forces a new resource to be created. + type: string + tenantId: + description: The Azure Tenant ID + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: login is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.login) + - message: objectId is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.objectId) + - message: resourceGroupName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.resourceGroupName) + - message: serverName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.serverName) + - message: tenantId is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.tenantId) + status: + description: ActiveDirectoryAdministratorStatus defines the observed state + of ActiveDirectoryAdministrator. + properties: + atProvider: + properties: + id: + description: The ID of the MySQL Active Directory Administrator. + type: string + login: + description: The login name of the principal to set as the server + administrator + type: string + objectId: + description: The ID of the principal to set as the server administrator. + For a managed identity this should be the Client ID of the identity. + type: string + resourceGroupName: + description: The name of the resource group for the MySQL server. + Changing this forces a new resource to be created. + type: string + serverName: + description: The name of the MySQL Server on which to set the + administrator. Changing this forces a new resource to be created. + type: string + tenantId: + description: The Azure Tenant ID + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_configurations.yaml b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_configurations.yaml new file mode 100644 index 000000000..7785efe7b --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_configurations.yaml @@ -0,0 +1,351 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: configurations.dbformysql.azure.kubedb.com +spec: + group: dbformysql.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: Configuration + listKind: ConfigurationList + plural: configurations + singular: configuration + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Configuration is the Schema for the Configurations API. Sets + a MySQL Configuration value on a MySQL Server. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ConfigurationSpec defines the desired state of Configuration + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + name: + description: Specifies the name of the MySQL Configuration, which + needs to be a valid MySQL configuration name. Changing this + forces a new resource to be created. + type: string + resourceGroupName: + description: The name of the resource group in which the MySQL + Server exists. Changing this forces a new resource to be created. + type: string + serverName: + description: Specifies the name of the MySQL Server. Changing + this forces a new resource to be created. + type: string + value: + description: Specifies the value of the MySQL Configuration. See + the MySQL documentation for valid values. Changing this forces + a new resource to be created. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: name is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name) + - message: resourceGroupName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.resourceGroupName) + - message: serverName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.serverName) + - message: value is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.value) + status: + description: ConfigurationStatus defines the observed state of Configuration. + properties: + atProvider: + properties: + id: + description: The ID of the MySQL Configuration. + type: string + name: + description: Specifies the name of the MySQL Configuration, which + needs to be a valid MySQL configuration name. Changing this + forces a new resource to be created. + type: string + resourceGroupName: + description: The name of the resource group in which the MySQL + Server exists. Changing this forces a new resource to be created. + type: string + serverName: + description: Specifies the name of the MySQL Server. Changing + this forces a new resource to be created. + type: string + value: + description: Specifies the value of the MySQL Configuration. See + the MySQL documentation for valid values. Changing this forces + a new resource to be created. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_databases.yaml b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_databases.yaml new file mode 100644 index 000000000..b2917c28b --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_databases.yaml @@ -0,0 +1,350 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: databases.dbformysql.azure.kubedb.com +spec: + group: dbformysql.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: Database + listKind: DatabaseList + plural: databases + singular: database + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Database is the Schema for the Databases API. Manages a MySQL + Database within a MySQL Server. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: DatabaseSpec defines the desired state of Database + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + charset: + description: Specifies the Charset for the MySQL Database, which + needs to be a valid MySQL Charset. Changing this forces a new + resource to be created. + type: string + collation: + description: Specifies the Collation for the MySQL Database, which + needs to be a valid MySQL Collation. Changing this forces a + new resource to be created. + type: string + resourceGroupName: + description: The name of the resource group in which the MySQL + Server exists. Changing this forces a new resource to be created. + type: string + serverName: + description: Specifies the name of the MySQL Server. Changing + this forces a new resource to be created. + type: string + required: + - resourceGroupName + - serverName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: charset is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.charset) + - message: collation is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.collation) + status: + description: DatabaseStatus defines the observed state of Database. + properties: + atProvider: + properties: + charset: + description: Specifies the Charset for the MySQL Database, which + needs to be a valid MySQL Charset. Changing this forces a new + resource to be created. + type: string + collation: + description: Specifies the Collation for the MySQL Database, which + needs to be a valid MySQL Collation. Changing this forces a + new resource to be created. + type: string + id: + description: The ID of the MySQL Database. + type: string + resourceGroupName: + description: The name of the resource group in which the MySQL + Server exists. Changing this forces a new resource to be created. + type: string + serverName: + description: Specifies the name of the MySQL Server. Changing + this forces a new resource to be created. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_firewallrules.yaml b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_firewallrules.yaml new file mode 100644 index 000000000..682e7e710 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_firewallrules.yaml @@ -0,0 +1,346 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: firewallrules.dbformysql.azure.kubedb.com +spec: + group: dbformysql.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: FirewallRule + listKind: FirewallRuleList + plural: firewallrules + singular: firewallrule + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: FirewallRule is the Schema for the FirewallRules API. Manages + a Firewall Rule for a MySQL Server. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: FirewallRuleSpec defines the desired state of FirewallRule + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + endIpAddress: + description: Specifies the End IP Address associated with this + Firewall Rule. + type: string + resourceGroupName: + description: The name of the resource group in which the MySQL + Server exists. Changing this forces a new resource to be created. + type: string + serverName: + description: Specifies the name of the MySQL Server. Changing + this forces a new resource to be created. + type: string + startIpAddress: + description: Specifies the Start IP Address associated with this + Firewall Rule. + type: string + required: + - resourceGroupName + - serverName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: endIpAddress is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.endIpAddress) + - message: startIpAddress is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.startIpAddress) + status: + description: FirewallRuleStatus defines the observed state of FirewallRule. + properties: + atProvider: + properties: + endIpAddress: + description: Specifies the End IP Address associated with this + Firewall Rule. + type: string + id: + description: The ID of the MySQL Firewall Rule. + type: string + resourceGroupName: + description: The name of the resource group in which the MySQL + Server exists. Changing this forces a new resource to be created. + type: string + serverName: + description: Specifies the name of the MySQL Server. Changing + this forces a new resource to be created. + type: string + startIpAddress: + description: Specifies the Start IP Address associated with this + Firewall Rule. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibledatabases.yaml b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibledatabases.yaml new file mode 100644 index 000000000..cb2680a85 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibledatabases.yaml @@ -0,0 +1,422 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: flexibledatabases.dbformysql.azure.kubedb.com +spec: + group: dbformysql.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: FlexibleDatabase + listKind: FlexibleDatabaseList + plural: flexibledatabases + singular: flexibledatabase + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: FlexibleDatabase is the Schema for the FlexibleDatabases API. + Manages a MySQL Database within a MySQL Flexible Server. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: FlexibleDatabaseSpec defines the desired state of FlexibleDatabase + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + charset: + description: Specifies the Charset for the MySQL Database, which + needs to be a valid MySQL Charset. Changing this forces a new + resource to be created. + type: string + collation: + description: Specifies the Collation for the MySQL Database, which + needs to be a valid MySQL Collation. Changing this forces a + new resource to be created. + type: string + resourceGroupName: + description: The name of the resource group in which the MySQL + Server exists. Changing this forces a new resource to be created. + type: string + serverName: + description: Specifies the name of the MySQL Flexible Server. + Changing this forces a new resource to be created. + type: string + serverNameRef: + description: Reference to a FlexibleServer to populate serverName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + serverNameSelector: + description: Selector for a FlexibleServer to populate serverName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + required: + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: charset is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.charset) + - message: collation is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.collation) + status: + description: FlexibleDatabaseStatus defines the observed state of FlexibleDatabase. + properties: + atProvider: + properties: + charset: + description: Specifies the Charset for the MySQL Database, which + needs to be a valid MySQL Charset. Changing this forces a new + resource to be created. + type: string + collation: + description: Specifies the Collation for the MySQL Database, which + needs to be a valid MySQL Collation. Changing this forces a + new resource to be created. + type: string + id: + description: The ID of the MySQL Database. + type: string + resourceGroupName: + description: The name of the resource group in which the MySQL + Server exists. Changing this forces a new resource to be created. + type: string + serverName: + description: Specifies the name of the MySQL Flexible Server. + Changing this forces a new resource to be created. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibleserverconfigurations.yaml b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibleserverconfigurations.yaml new file mode 100644 index 000000000..a97b5ac43 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibleserverconfigurations.yaml @@ -0,0 +1,415 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: flexibleserverconfigurations.dbformysql.azure.kubedb.com +spec: + group: dbformysql.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: FlexibleServerConfiguration + listKind: FlexibleServerConfigurationList + plural: flexibleserverconfigurations + singular: flexibleserverconfiguration + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: FlexibleServerConfiguration is the Schema for the FlexibleServerConfigurations + API. Sets a MySQL Flexible Server Configuration value on a MySQL Flexible + Server. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: FlexibleServerConfigurationSpec defines the desired state + of FlexibleServerConfiguration + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + resourceGroupName: + description: The name of the resource group in which the MySQL + Flexible Server exists. Changing this forces a new resource + to be created. + type: string + serverName: + description: Specifies the name of the MySQL Flexible Server. + Changing this forces a new resource to be created. + type: string + serverNameRef: + description: Reference to a FlexibleServer to populate serverName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + serverNameSelector: + description: Selector for a FlexibleServer to populate serverName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + value: + description: Specifies the value of the MySQL Flexible Server + Configuration. See the MySQL documentation for valid values. + Changing this forces a new resource to be created. + type: string + required: + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: value is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.value) + status: + description: FlexibleServerConfigurationStatus defines the observed state + of FlexibleServerConfiguration. + properties: + atProvider: + properties: + id: + description: The ID of the MySQL Flexible Server Configuration. + type: string + resourceGroupName: + description: The name of the resource group in which the MySQL + Flexible Server exists. Changing this forces a new resource + to be created. + type: string + serverName: + description: Specifies the name of the MySQL Flexible Server. + Changing this forces a new resource to be created. + type: string + value: + description: Specifies the value of the MySQL Flexible Server + Configuration. See the MySQL documentation for valid values. + Changing this forces a new resource to be created. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibleserverfirewallrules.yaml b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibleserverfirewallrules.yaml new file mode 100644 index 000000000..3d2f37877 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibleserverfirewallrules.yaml @@ -0,0 +1,422 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: flexibleserverfirewallrules.dbformysql.azure.kubedb.com +spec: + group: dbformysql.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: FlexibleServerFirewallRule + listKind: FlexibleServerFirewallRuleList + plural: flexibleserverfirewallrules + singular: flexibleserverfirewallrule + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: FlexibleServerFirewallRule is the Schema for the FlexibleServerFirewallRules + API. Manages a Firewall Rule for a MySQL Flexible Server. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: FlexibleServerFirewallRuleSpec defines the desired state + of FlexibleServerFirewallRule + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + endIpAddress: + description: Specifies the End IP Address associated with this + Firewall Rule. + type: string + resourceGroupName: + description: The name of the resource group in which the MySQL + Flexible Server exists. Changing this forces a new resource + to be created. + type: string + serverName: + description: Specifies the name of the MySQL Flexible Server. + Changing this forces a new resource to be created. + type: string + serverNameRef: + description: Reference to a FlexibleServer to populate serverName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + serverNameSelector: + description: Selector for a FlexibleServer to populate serverName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + startIpAddress: + description: Specifies the Start IP Address associated with this + Firewall Rule. + type: string + required: + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: endIpAddress is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.endIpAddress) + - message: startIpAddress is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.startIpAddress) + status: + description: FlexibleServerFirewallRuleStatus defines the observed state + of FlexibleServerFirewallRule. + properties: + atProvider: + properties: + endIpAddress: + description: Specifies the End IP Address associated with this + Firewall Rule. + type: string + id: + description: The ID of the MySQL Firewall Rule. + type: string + resourceGroupName: + description: The name of the resource group in which the MySQL + Flexible Server exists. Changing this forces a new resource + to be created. + type: string + serverName: + description: Specifies the name of the MySQL Flexible Server. + Changing this forces a new resource to be created. + type: string + startIpAddress: + description: Specifies the Start IP Address associated with this + Firewall Rule. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibleservers.yaml b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibleservers.yaml new file mode 100644 index 000000000..22bc7b8c3 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_flexibleservers.yaml @@ -0,0 +1,753 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: flexibleservers.dbformysql.azure.kubedb.com +spec: + group: dbformysql.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: FlexibleServer + listKind: FlexibleServerList + plural: flexibleservers + singular: flexibleserver + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: FlexibleServer is the Schema for the FlexibleServers API. Manages + a MySQL Flexible Server. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: FlexibleServerSpec defines the desired state of FlexibleServer + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + administratorLogin: + description: The Administrator login for the MySQL Flexible Server. + Required when create_mode is Default. Changing this forces a + new MySQL Flexible Server to be created. + type: string + administratorPasswordSecretRef: + description: The Password associated with the administrator_login + for the MySQL Flexible Server. Required when create_mode is + Default. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + backupRetentionDays: + description: The backup retention days for the MySQL Flexible + Server. Possible values are between 1 and 35 days. Defaults + to 7. + type: number + createMode: + description: The creation mode which can be used to restore or + replicate existing servers. Possible values are Default, PointInTimeRestore, + GeoRestore, and Replica. Changing this forces a new MySQL Flexible + Server to be created. + type: string + customerManagedKey: + description: A customer_managed_key block as defined below. + items: + properties: + geoBackupKeyVaultKeyId: + description: The ID of the geo backup Key Vault Key. It + can't cross region and need Customer Managed Key in same + region as geo backup. + type: string + geoBackupUserAssignedIdentityId: + description: The geo backup user managed identity id for + a Customer Managed Key. Should be added with identity_ids. + It can't cross region and need identity in same region + as geo backup. + type: string + keyVaultKeyId: + description: The ID of the Key Vault Key. + type: string + primaryUserAssignedIdentityId: + description: Specifies the primary user managed identity + id for a Customer Managed Key. Should be added with identity_ids. + type: string + type: object + type: array + delegatedSubnetId: + description: The ID of the virtual network subnet to create the + MySQL Flexible Server. Changing this forces a new MySQL Flexible + Server to be created. + type: string + geoRedundantBackupEnabled: + description: Should geo redundant backup enabled? Defaults to + false. Changing this forces a new MySQL Flexible Server to be + created. + type: boolean + highAvailability: + description: A high_availability block as defined below. + items: + properties: + mode: + description: The high availability mode for the MySQL Flexible + Server. Possibles values are SameZone and ZoneRedundant. + type: string + standbyAvailabilityZone: + description: Specifies the Availability Zone in which the + standby Flexible Server should be located. Possible values + are 1, 2 and 3. + type: string + required: + - mode + type: object + type: array + identity: + description: An identity block as defined below. + items: + properties: + identityIds: + description: A list of User Assigned Managed Identity IDs + to be assigned to this MySQL Flexible Server. + items: + type: string + type: array + type: + description: Specifies the type of Managed Service Identity + that should be configured on this MySQL Flexible Server. + The only possible value is UserAssigned. + type: string + required: + - identityIds + - type + type: object + type: array + location: + description: The Azure Region where the MySQL Flexible Server + should exist. Changing this forces a new MySQL Flexible Server + to be created. + type: string + maintenanceWindow: + description: A maintenance_window block as defined below. + items: + properties: + dayOfWeek: + description: The day of week for maintenance window. Defaults + to 0. + type: number + startHour: + description: The start hour for maintenance window. Defaults + to 0. + type: number + startMinute: + description: The start minute for maintenance window. Defaults + to 0. + type: number + type: object + type: array + pointInTimeRestoreTimeInUtc: + description: The point in time to restore from creation_source_server_id + when create_mode is PointInTimeRestore. Changing this forces + a new MySQL Flexible Server to be created. + type: string + privateDnsZoneId: + description: The ID of the private DNS zone to create the MySQL + Flexible Server. Changing this forces a new MySQL Flexible Server + to be created. + type: string + privateDnsZoneIdRef: + description: Reference to a PrivateDNSZone in network to populate + privateDnsZoneId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + privateDnsZoneIdSelector: + description: Selector for a PrivateDNSZone in network to populate + privateDnsZoneId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + replicationRole: + description: The replication role. Possible value is None. + type: string + resourceGroupName: + description: The name of the Resource Group where the MySQL Flexible + Server should exist. Changing this forces a new MySQL Flexible + Server to be created. + type: string + skuName: + description: The SKU Name for the MySQL Flexible Server. + type: string + sourceServerId: + description: The resource ID of the source MySQL Flexible Server + to be restored. Required when create_mode is PointInTimeRestore, + GeoRestore, and Replica. Changing this forces a new MySQL Flexible + Server to be created. + type: string + storage: + description: A storage block as defined below. + items: + properties: + autoGrowEnabled: + description: Should Storage Auto Grow be enabled? Defaults + to true. + type: boolean + iops: + description: The storage IOPS for the MySQL Flexible Server. + Possible values are between 360 and 20000. + type: number + sizeGb: + description: The max storage allowed for the MySQL Flexible + Server. Possible values are between 20 and 16384. + type: number + type: object + type: array + tags: + additionalProperties: + type: string + description: A mapping of tags which should be assigned to the + MySQL Flexible Server. + type: object + version: + description: The version of the MySQL Flexible Server to use. + Possible values are 5.7, and 8.0.21. Changing this forces a + new MySQL Flexible Server to be created. + type: string + zone: + description: Specifies the Availability Zone in which this MySQL + Flexible Server should be located. Possible values are 1, 2 + and 3. + type: string + required: + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: location is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location) + status: + description: FlexibleServerStatus defines the observed state of FlexibleServer. + properties: + atProvider: + properties: + administratorLogin: + description: The Administrator login for the MySQL Flexible Server. + Required when create_mode is Default. Changing this forces a + new MySQL Flexible Server to be created. + type: string + backupRetentionDays: + description: The backup retention days for the MySQL Flexible + Server. Possible values are between 1 and 35 days. Defaults + to 7. + type: number + createMode: + description: The creation mode which can be used to restore or + replicate existing servers. Possible values are Default, PointInTimeRestore, + GeoRestore, and Replica. Changing this forces a new MySQL Flexible + Server to be created. + type: string + customerManagedKey: + description: A customer_managed_key block as defined below. + items: + properties: + geoBackupKeyVaultKeyId: + description: The ID of the geo backup Key Vault Key. It + can't cross region and need Customer Managed Key in same + region as geo backup. + type: string + geoBackupUserAssignedIdentityId: + description: The geo backup user managed identity id for + a Customer Managed Key. Should be added with identity_ids. + It can't cross region and need identity in same region + as geo backup. + type: string + keyVaultKeyId: + description: The ID of the Key Vault Key. + type: string + primaryUserAssignedIdentityId: + description: Specifies the primary user managed identity + id for a Customer Managed Key. Should be added with identity_ids. + type: string + type: object + type: array + delegatedSubnetId: + description: The ID of the virtual network subnet to create the + MySQL Flexible Server. Changing this forces a new MySQL Flexible + Server to be created. + type: string + fqdn: + description: The fully qualified domain name of the MySQL Flexible + Server. + type: string + geoRedundantBackupEnabled: + description: Should geo redundant backup enabled? Defaults to + false. Changing this forces a new MySQL Flexible Server to be + created. + type: boolean + highAvailability: + description: A high_availability block as defined below. + items: + properties: + mode: + description: The high availability mode for the MySQL Flexible + Server. Possibles values are SameZone and ZoneRedundant. + type: string + standbyAvailabilityZone: + description: Specifies the Availability Zone in which the + standby Flexible Server should be located. Possible values + are 1, 2 and 3. + type: string + type: object + type: array + id: + description: The ID of the MySQL Flexible Server. + type: string + identity: + description: An identity block as defined below. + items: + properties: + identityIds: + description: A list of User Assigned Managed Identity IDs + to be assigned to this MySQL Flexible Server. + items: + type: string + type: array + type: + description: Specifies the type of Managed Service Identity + that should be configured on this MySQL Flexible Server. + The only possible value is UserAssigned. + type: string + type: object + type: array + location: + description: The Azure Region where the MySQL Flexible Server + should exist. Changing this forces a new MySQL Flexible Server + to be created. + type: string + maintenanceWindow: + description: A maintenance_window block as defined below. + items: + properties: + dayOfWeek: + description: The day of week for maintenance window. Defaults + to 0. + type: number + startHour: + description: The start hour for maintenance window. Defaults + to 0. + type: number + startMinute: + description: The start minute for maintenance window. Defaults + to 0. + type: number + type: object + type: array + pointInTimeRestoreTimeInUtc: + description: The point in time to restore from creation_source_server_id + when create_mode is PointInTimeRestore. Changing this forces + a new MySQL Flexible Server to be created. + type: string + privateDnsZoneId: + description: The ID of the private DNS zone to create the MySQL + Flexible Server. Changing this forces a new MySQL Flexible Server + to be created. + type: string + publicNetworkAccessEnabled: + description: Is the public network access enabled? + type: boolean + replicaCapacity: + description: The maximum number of replicas that a primary MySQL + Flexible Server can have. + type: number + replicationRole: + description: The replication role. Possible value is None. + type: string + resourceGroupName: + description: The name of the Resource Group where the MySQL Flexible + Server should exist. Changing this forces a new MySQL Flexible + Server to be created. + type: string + skuName: + description: The SKU Name for the MySQL Flexible Server. + type: string + sourceServerId: + description: The resource ID of the source MySQL Flexible Server + to be restored. Required when create_mode is PointInTimeRestore, + GeoRestore, and Replica. Changing this forces a new MySQL Flexible + Server to be created. + type: string + storage: + description: A storage block as defined below. + items: + properties: + autoGrowEnabled: + description: Should Storage Auto Grow be enabled? Defaults + to true. + type: boolean + iops: + description: The storage IOPS for the MySQL Flexible Server. + Possible values are between 360 and 20000. + type: number + sizeGb: + description: The max storage allowed for the MySQL Flexible + Server. Possible values are between 20 and 16384. + type: number + type: object + type: array + tags: + additionalProperties: + type: string + description: A mapping of tags which should be assigned to the + MySQL Flexible Server. + type: object + version: + description: The version of the MySQL Flexible Server to use. + Possible values are 5.7, and 8.0.21. Changing this forces a + new MySQL Flexible Server to be created. + type: string + zone: + description: Specifies the Availability Zone in which this MySQL + Flexible Server should be located. Possible values are 1, 2 + and 3. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_servers.yaml b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_servers.yaml new file mode 100644 index 000000000..d6b7c1b4d --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_servers.yaml @@ -0,0 +1,643 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: servers.dbformysql.azure.kubedb.com +spec: + group: dbformysql.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: Server + listKind: ServerList + plural: servers + singular: server + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Server is the Schema for the Servers API. Manages a MySQL Server. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ServerSpec defines the desired state of Server + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + administratorLogin: + description: The Administrator login for the MySQL Server. Required + when create_mode is Default. Changing this forces a new resource + to be created. + type: string + administratorLoginPasswordSecretRef: + description: The Password associated with the administrator_login + for the MySQL Server. Required when create_mode is Default. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + autoGrowEnabled: + description: Enable/Disable auto-growing of the storage. Storage + auto-grow prevents your server from running out of storage and + becoming read-only. If storage auto grow is enabled, the storage + automatically grows without impacting the workload. The default + value if not explicitly specified is true. + type: boolean + backupRetentionDays: + description: Backup retention days for the server, supported values + are between 7 and 35 days. + type: number + createMode: + description: The creation mode. Can be used to restore or replicate + existing servers. Possible values are Default, Replica, GeoRestore, + and PointInTimeRestore. Defaults to Default. + type: string + creationSourceServerId: + description: For creation modes other than Default, the source + server ID to use. + type: string + geoRedundantBackupEnabled: + description: Turn Geo-redundant server backups on/off. This allows + you to choose between locally redundant or geo-redundant backup + storage in the General Purpose and Memory Optimized tiers. When + the backups are stored in geo-redundant backup storage, they + are not only stored within the region in which your server is + hosted, but are also replicated to a paired data center. This + provides better protection and ability to restore your server + in a different region in the event of a disaster. This is not + supported for the Basic tier. + type: boolean + identity: + description: An identity block as defined below. + items: + properties: + type: + description: Specifies the type of Managed Service Identity + that should be configured on this MySQL Server. The only + possible value is SystemAssigned. + type: string + required: + - type + type: object + type: array + infrastructureEncryptionEnabled: + description: Whether or not infrastructure is encrypted for this + server. Changing this forces a new resource to be created. + type: boolean + location: + description: Specifies the supported Azure location where the + resource exists. Changing this forces a new resource to be created. + type: string + publicNetworkAccessEnabled: + description: Whether or not public network access is allowed for + this server. Defaults to true. + type: boolean + resourceGroupName: + description: The name of the resource group in which to create + the MySQL Server. Changing this forces a new resource to be + created. + type: string + restorePointInTime: + description: When create_mode is PointInTimeRestore, specifies + the point in time to restore from creation_source_server_id. + It should be provided in RFC3339 format, e.g. 2013-11-08T22:00:40Z. + type: string + skuName: + description: Specifies the SKU Name for this MySQL Server. The + name of the SKU, follows the tier + family + cores pattern (e.g. + B_Gen4_1, GP_Gen5_8). For more information see the product documentation. + Possible values are B_Gen4_1, B_Gen4_2, B_Gen5_1, B_Gen5_2, + GP_Gen4_2, GP_Gen4_4, GP_Gen4_8, GP_Gen4_16, GP_Gen4_32, GP_Gen5_2, + GP_Gen5_4, GP_Gen5_8, GP_Gen5_16, GP_Gen5_32, GP_Gen5_64, MO_Gen5_2, + MO_Gen5_4, MO_Gen5_8, MO_Gen5_16 and MO_Gen5_32. + type: string + sslEnforcementEnabled: + description: Specifies if SSL should be enforced on connections. + Possible values are true and false. + type: boolean + sslMinimalTlsVersionEnforced: + description: The minimum TLS version to support on the sever. + Possible values are TLSEnforcementDisabled, TLS1_0, TLS1_1, + and TLS1_2. Defaults to TLS1_2. + type: string + storageMb: + description: Max storage allowed for a server. Possible values + are between 5120 MB(5GB) and 1048576 MB(1TB) for the Basic SKU + and between 5120 MB(5GB) and 16777216 MB(16TB) for General Purpose/Memory + Optimized SKUs. For more information see the product documentation. + type: number + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the resource. + type: object + threatDetectionPolicy: + description: Threat detection policy configuration, known in the + API as Server Security Alerts Policy. The threat_detection_policy + block supports fields documented below. + items: + properties: + disabledAlerts: + description: Specifies a list of alerts which should be + disabled. Possible values are Sql_Injection, Sql_Injection_Vulnerability, + Access_Anomaly, Data_Exfiltration and Unsafe_Action. + items: + type: string + type: array + emailAccountAdmins: + description: Should the account administrators be emailed + when this alert is triggered? + type: boolean + emailAddresses: + description: A list of email addresses which alerts should + be sent to. + items: + type: string + type: array + enabled: + description: Is the policy enabled? + type: boolean + retentionDays: + description: Specifies the number of days to keep in the + Threat Detection audit logs. + type: number + storageAccountAccessKeySecretRef: + description: Specifies the identifier key of the Threat + Detection audit storage account. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + storageEndpoint: + description: Specifies the blob storage endpoint (e.g. https://example.blob.core.windows.net). + This blob storage will hold all Threat Detection audit + logs. + type: string + type: object + type: array + version: + description: Specifies the version of MySQL to use. Valid values + are 5.7, or 8.0. Changing this forces a new resource to be created. + type: string + required: + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: location is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location) + - message: skuName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.skuName) + - message: sslEnforcementEnabled is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.sslEnforcementEnabled) + - message: version is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.version) + status: + description: ServerStatus defines the observed state of Server. + properties: + atProvider: + properties: + administratorLogin: + description: The Administrator login for the MySQL Server. Required + when create_mode is Default. Changing this forces a new resource + to be created. + type: string + autoGrowEnabled: + description: Enable/Disable auto-growing of the storage. Storage + auto-grow prevents your server from running out of storage and + becoming read-only. If storage auto grow is enabled, the storage + automatically grows without impacting the workload. The default + value if not explicitly specified is true. + type: boolean + backupRetentionDays: + description: Backup retention days for the server, supported values + are between 7 and 35 days. + type: number + createMode: + description: The creation mode. Can be used to restore or replicate + existing servers. Possible values are Default, Replica, GeoRestore, + and PointInTimeRestore. Defaults to Default. + type: string + creationSourceServerId: + description: For creation modes other than Default, the source + server ID to use. + type: string + fqdn: + description: The FQDN of the MySQL Server. + type: string + geoRedundantBackupEnabled: + description: Turn Geo-redundant server backups on/off. This allows + you to choose between locally redundant or geo-redundant backup + storage in the General Purpose and Memory Optimized tiers. When + the backups are stored in geo-redundant backup storage, they + are not only stored within the region in which your server is + hosted, but are also replicated to a paired data center. This + provides better protection and ability to restore your server + in a different region in the event of a disaster. This is not + supported for the Basic tier. + type: boolean + id: + description: The ID of the MySQL Server. + type: string + identity: + description: An identity block as defined below. + items: + properties: + principalId: + description: The Principal ID associated with this Managed + Service Identity. + type: string + tenantId: + description: The Tenant ID associated with this Managed + Service Identity. + type: string + type: + description: Specifies the type of Managed Service Identity + that should be configured on this MySQL Server. The only + possible value is SystemAssigned. + type: string + type: object + type: array + infrastructureEncryptionEnabled: + description: Whether or not infrastructure is encrypted for this + server. Changing this forces a new resource to be created. + type: boolean + location: + description: Specifies the supported Azure location where the + resource exists. Changing this forces a new resource to be created. + type: string + publicNetworkAccessEnabled: + description: Whether or not public network access is allowed for + this server. Defaults to true. + type: boolean + resourceGroupName: + description: The name of the resource group in which to create + the MySQL Server. Changing this forces a new resource to be + created. + type: string + restorePointInTime: + description: When create_mode is PointInTimeRestore, specifies + the point in time to restore from creation_source_server_id. + It should be provided in RFC3339 format, e.g. 2013-11-08T22:00:40Z. + type: string + skuName: + description: Specifies the SKU Name for this MySQL Server. The + name of the SKU, follows the tier + family + cores pattern (e.g. + B_Gen4_1, GP_Gen5_8). For more information see the product documentation. + Possible values are B_Gen4_1, B_Gen4_2, B_Gen5_1, B_Gen5_2, + GP_Gen4_2, GP_Gen4_4, GP_Gen4_8, GP_Gen4_16, GP_Gen4_32, GP_Gen5_2, + GP_Gen5_4, GP_Gen5_8, GP_Gen5_16, GP_Gen5_32, GP_Gen5_64, MO_Gen5_2, + MO_Gen5_4, MO_Gen5_8, MO_Gen5_16 and MO_Gen5_32. + type: string + sslEnforcementEnabled: + description: Specifies if SSL should be enforced on connections. + Possible values are true and false. + type: boolean + sslMinimalTlsVersionEnforced: + description: The minimum TLS version to support on the sever. + Possible values are TLSEnforcementDisabled, TLS1_0, TLS1_1, + and TLS1_2. Defaults to TLS1_2. + type: string + storageMb: + description: Max storage allowed for a server. Possible values + are between 5120 MB(5GB) and 1048576 MB(1TB) for the Basic SKU + and between 5120 MB(5GB) and 16777216 MB(16TB) for General Purpose/Memory + Optimized SKUs. For more information see the product documentation. + type: number + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the resource. + type: object + threatDetectionPolicy: + description: Threat detection policy configuration, known in the + API as Server Security Alerts Policy. The threat_detection_policy + block supports fields documented below. + items: + properties: + disabledAlerts: + description: Specifies a list of alerts which should be + disabled. Possible values are Sql_Injection, Sql_Injection_Vulnerability, + Access_Anomaly, Data_Exfiltration and Unsafe_Action. + items: + type: string + type: array + emailAccountAdmins: + description: Should the account administrators be emailed + when this alert is triggered? + type: boolean + emailAddresses: + description: A list of email addresses which alerts should + be sent to. + items: + type: string + type: array + enabled: + description: Is the policy enabled? + type: boolean + retentionDays: + description: Specifies the number of days to keep in the + Threat Detection audit logs. + type: number + storageEndpoint: + description: Specifies the blob storage endpoint (e.g. https://example.blob.core.windows.net). + This blob storage will hold all Threat Detection audit + logs. + type: string + type: object + type: array + version: + description: Specifies the version of MySQL to use. Valid values + are 5.7, or 8.0. Changing this forces a new resource to be created. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_virtualnetworkrules.yaml b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_virtualnetworkrules.yaml new file mode 100644 index 000000000..a9fcfe012 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbformysql.azure.kubedb.com_virtualnetworkrules.yaml @@ -0,0 +1,338 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: virtualnetworkrules.dbformysql.azure.kubedb.com +spec: + group: dbformysql.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: VirtualNetworkRule + listKind: VirtualNetworkRuleList + plural: virtualnetworkrules + singular: virtualnetworkrule + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: VirtualNetworkRule is the Schema for the VirtualNetworkRules + API. Manages a MySQL Virtual Network Rule. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: VirtualNetworkRuleSpec defines the desired state of VirtualNetworkRule + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + resourceGroupName: + description: The name of the resource group where the MySQL server + resides. Changing this forces a new resource to be created. + type: string + serverName: + description: The name of the SQL Server to which this MySQL virtual + network rule will be applied to. Changing this forces a new + resource to be created. + type: string + subnetId: + description: The ID of the subnet that the MySQL server will be + connected to. + type: string + required: + - resourceGroupName + - serverName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: subnetId is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.subnetId) + status: + description: VirtualNetworkRuleStatus defines the observed state of VirtualNetworkRule. + properties: + atProvider: + properties: + id: + description: The ID of the MySQL Virtual Network Rule. + type: string + resourceGroupName: + description: The name of the resource group where the MySQL server + resides. Changing this forces a new resource to be created. + type: string + serverName: + description: The name of the SQL Server to which this MySQL virtual + network rule will be applied to. Changing this forces a new + resource to be created. + type: string + subnetId: + description: The ID of the subnet that the MySQL server will be + connected to. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_activedirectoryadministrators.yaml b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_activedirectoryadministrators.yaml new file mode 100644 index 000000000..5d9f001bf --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_activedirectoryadministrators.yaml @@ -0,0 +1,430 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: activedirectoryadministrators.dbforpostgresql.azure.kubedb.com +spec: + group: dbforpostgresql.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: ActiveDirectoryAdministrator + listKind: ActiveDirectoryAdministratorList + plural: activedirectoryadministrators + singular: activedirectoryadministrator + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ActiveDirectoryAdministrator is the Schema for the ActiveDirectoryAdministrators + API. Manages an Active Directory administrator on a PostgreSQL server + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ActiveDirectoryAdministratorSpec defines the desired state + of ActiveDirectoryAdministrator + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + login: + description: The login name of the principal to set as the server + administrator + type: string + objectId: + description: The ID of the principal to set as the server administrator. + For a managed identity this should be the Client ID of the identity. + type: string + resourceGroupName: + description: The name of the resource group for the PostgreSQL + server. Changing this forces a new resource to be created. + type: string + serverName: + description: The name of the PostgreSQL Server on which to set + the administrator. Changing this forces a new resource to be + created. + type: string + serverNameRef: + description: Reference to a Server to populate serverName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + serverNameSelector: + description: Selector for a Server to populate serverName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + tenantId: + description: The Azure Tenant ID + type: string + required: + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: login is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.login) + - message: objectId is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.objectId) + - message: tenantId is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.tenantId) + status: + description: ActiveDirectoryAdministratorStatus defines the observed state + of ActiveDirectoryAdministrator. + properties: + atProvider: + properties: + id: + description: The ID of the PostgreSQL Active Directory Administrator. + type: string + login: + description: The login name of the principal to set as the server + administrator + type: string + objectId: + description: The ID of the principal to set as the server administrator. + For a managed identity this should be the Client ID of the identity. + type: string + resourceGroupName: + description: The name of the resource group for the PostgreSQL + server. Changing this forces a new resource to be created. + type: string + serverName: + description: The name of the PostgreSQL Server on which to set + the administrator. Changing this forces a new resource to be + created. + type: string + tenantId: + description: The Azure Tenant ID + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_configurations.yaml b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_configurations.yaml new file mode 100644 index 000000000..a13363888 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_configurations.yaml @@ -0,0 +1,422 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: configurations.dbforpostgresql.azure.kubedb.com +spec: + group: dbforpostgresql.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: Configuration + listKind: ConfigurationList + plural: configurations + singular: configuration + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Configuration is the Schema for the Configurations API. Sets + a PostgreSQL Configuration value on a PostgreSQL Server. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ConfigurationSpec defines the desired state of Configuration + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + name: + description: Specifies the name of the PostgreSQL Configuration, + which needs to be a valid PostgreSQL configuration name. Changing + this forces a new resource to be created. + type: string + resourceGroupName: + description: The name of the resource group in which the PostgreSQL + Server exists. Changing this forces a new resource to be created. + type: string + serverName: + description: Specifies the name of the PostgreSQL Server. Changing + this forces a new resource to be created. + type: string + serverNameRef: + description: Reference to a Server to populate serverName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + serverNameSelector: + description: Selector for a Server to populate serverName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + value: + description: Specifies the value of the PostgreSQL Configuration. + See the PostgreSQL documentation for valid values. Changing + this forces a new resource to be created. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: name is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name) + - message: resourceGroupName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.resourceGroupName) + - message: value is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.value) + status: + description: ConfigurationStatus defines the observed state of Configuration. + properties: + atProvider: + properties: + id: + description: The ID of the PostgreSQL Configuration. + type: string + name: + description: Specifies the name of the PostgreSQL Configuration, + which needs to be a valid PostgreSQL configuration name. Changing + this forces a new resource to be created. + type: string + resourceGroupName: + description: The name of the resource group in which the PostgreSQL + Server exists. Changing this forces a new resource to be created. + type: string + serverName: + description: Specifies the name of the PostgreSQL Server. Changing + this forces a new resource to be created. + type: string + value: + description: Specifies the value of the PostgreSQL Configuration. + See the PostgreSQL documentation for valid values. Changing + this forces a new resource to be created. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_databases.yaml b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_databases.yaml new file mode 100644 index 000000000..cb37a5923 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_databases.yaml @@ -0,0 +1,424 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: databases.dbforpostgresql.azure.kubedb.com +spec: + group: dbforpostgresql.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: Database + listKind: DatabaseList + plural: databases + singular: database + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Database is the Schema for the Databases API. Manages a PostgreSQL + Database within a PostgreSQL Server. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: DatabaseSpec defines the desired state of Database + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + charset: + description: Specifies the Charset for the PostgreSQL Database, + which needs to be a valid PostgreSQL Charset. Changing this + forces a new resource to be created. + type: string + collation: + description: Specifies the Collation for the PostgreSQL Database, + which needs to be a valid PostgreSQL Collation. Note that Microsoft + uses different notation - en-US instead of en_US. Changing this + forces a new resource to be created. + type: string + resourceGroupName: + description: The name of the resource group in which the PostgreSQL + Server exists. Changing this forces a new resource to be created. + type: string + serverName: + description: Specifies the name of the PostgreSQL Server. Changing + this forces a new resource to be created. + type: string + serverNameRef: + description: Reference to a Server to populate serverName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + serverNameSelector: + description: Selector for a Server to populate serverName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + required: + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: charset is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.charset) + - message: collation is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.collation) + status: + description: DatabaseStatus defines the observed state of Database. + properties: + atProvider: + properties: + charset: + description: Specifies the Charset for the PostgreSQL Database, + which needs to be a valid PostgreSQL Charset. Changing this + forces a new resource to be created. + type: string + collation: + description: Specifies the Collation for the PostgreSQL Database, + which needs to be a valid PostgreSQL Collation. Note that Microsoft + uses different notation - en-US instead of en_US. Changing this + forces a new resource to be created. + type: string + id: + description: The ID of the PostgreSQL Database. + type: string + resourceGroupName: + description: The name of the resource group in which the PostgreSQL + Server exists. Changing this forces a new resource to be created. + type: string + serverName: + description: Specifies the name of the PostgreSQL Server. Changing + this forces a new resource to be created. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_firewallrules.yaml b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_firewallrules.yaml new file mode 100644 index 000000000..5e7c8e94f --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_firewallrules.yaml @@ -0,0 +1,418 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: firewallrules.dbforpostgresql.azure.kubedb.com +spec: + group: dbforpostgresql.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: FirewallRule + listKind: FirewallRuleList + plural: firewallrules + singular: firewallrule + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: FirewallRule is the Schema for the FirewallRules API. Manages + a Firewall Rule for a PostgreSQL Server. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: FirewallRuleSpec defines the desired state of FirewallRule + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + endIpAddress: + description: Specifies the End IP Address associated with this + Firewall Rule. Changing this forces a new resource to be created. + type: string + resourceGroupName: + description: The name of the resource group in which the PostgreSQL + Server exists. Changing this forces a new resource to be created. + type: string + serverName: + description: Specifies the name of the PostgreSQL Server. Changing + this forces a new resource to be created. + type: string + serverNameRef: + description: Reference to a Server to populate serverName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + serverNameSelector: + description: Selector for a Server to populate serverName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + startIpAddress: + description: Specifies the Start IP Address associated with this + Firewall Rule. Changing this forces a new resource to be created. + type: string + required: + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: endIpAddress is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.endIpAddress) + - message: startIpAddress is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.startIpAddress) + status: + description: FirewallRuleStatus defines the observed state of FirewallRule. + properties: + atProvider: + properties: + endIpAddress: + description: Specifies the End IP Address associated with this + Firewall Rule. Changing this forces a new resource to be created. + type: string + id: + description: The ID of the PostgreSQL Firewall Rule. + type: string + resourceGroupName: + description: The name of the resource group in which the PostgreSQL + Server exists. Changing this forces a new resource to be created. + type: string + serverName: + description: Specifies the name of the PostgreSQL Server. Changing + this forces a new resource to be created. + type: string + startIpAddress: + description: Specifies the Start IP Address associated with this + Firewall Rule. Changing this forces a new resource to be created. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleserverconfigurations.yaml b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleserverconfigurations.yaml new file mode 100644 index 000000000..dd5723cc9 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleserverconfigurations.yaml @@ -0,0 +1,415 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: flexibleserverconfigurations.dbforpostgresql.azure.kubedb.com +spec: + group: dbforpostgresql.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: FlexibleServerConfiguration + listKind: FlexibleServerConfigurationList + plural: flexibleserverconfigurations + singular: flexibleserverconfiguration + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: FlexibleServerConfiguration is the Schema for the FlexibleServerConfigurations + API. Sets a PostgreSQL Configuration value on a Azure PostgreSQL Flexible + Server. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: FlexibleServerConfigurationSpec defines the desired state + of FlexibleServerConfiguration + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + name: + description: Specifies the name of the PostgreSQL Configuration, + which needs to be a valid PostgreSQL configuration name. Changing + this forces a new resource to be created. + type: string + serverId: + description: The ID of the PostgreSQL Flexible Server where we + want to change configuration. Changing this forces a new PostgreSQL + Flexible Server Configuration resource. + type: string + serverIdRef: + description: Reference to a FlexibleServer to populate serverId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + serverIdSelector: + description: Selector for a FlexibleServer to populate serverId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + value: + description: Specifies the value of the PostgreSQL Configuration. + See the PostgreSQL documentation for valid values. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: name is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name) + - message: value is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.value) + status: + description: FlexibleServerConfigurationStatus defines the observed state + of FlexibleServerConfiguration. + properties: + atProvider: + properties: + id: + description: The ID of the PostgreSQL Configuration. + type: string + name: + description: Specifies the name of the PostgreSQL Configuration, + which needs to be a valid PostgreSQL configuration name. Changing + this forces a new resource to be created. + type: string + serverId: + description: The ID of the PostgreSQL Flexible Server where we + want to change configuration. Changing this forces a new PostgreSQL + Flexible Server Configuration resource. + type: string + value: + description: Specifies the value of the PostgreSQL Configuration. + See the PostgreSQL documentation for valid values. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleserverdatabases.yaml b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleserverdatabases.yaml new file mode 100644 index 000000000..3d46155b7 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleserverdatabases.yaml @@ -0,0 +1,416 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: flexibleserverdatabases.dbforpostgresql.azure.kubedb.com +spec: + group: dbforpostgresql.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: FlexibleServerDatabase + listKind: FlexibleServerDatabaseList + plural: flexibleserverdatabases + singular: flexibleserverdatabase + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: FlexibleServerDatabase is the Schema for the FlexibleServerDatabases + API. Manages a PostgreSQL Flexible Server Database. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: FlexibleServerDatabaseSpec defines the desired state of FlexibleServerDatabase + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + charset: + description: Specifies the Charset for the Azure PostgreSQL Flexible + Server Database, which needs to be a valid PostgreSQL Charset. + Defaults to UTF8. Changing this forces a new Azure PostgreSQL + Flexible Server Database to be created. + type: string + collation: + description: Specifies the Collation for the Azure PostgreSQL + Flexible Server Database, which needs to be a valid PostgreSQL + Collation. Defaults to en_US.utf8. Changing this forces a new + Azure PostgreSQL Flexible Server Database to be created. + type: string + serverId: + description: The ID of the Azure PostgreSQL Flexible Server from + which to create this PostgreSQL Flexible Server Database. Changing + this forces a new Azure PostgreSQL Flexible Server Database + to be created. + type: string + serverIdRef: + description: Reference to a FlexibleServer to populate serverId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + serverIdSelector: + description: Selector for a FlexibleServer to populate serverId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: FlexibleServerDatabaseStatus defines the observed state of + FlexibleServerDatabase. + properties: + atProvider: + properties: + charset: + description: Specifies the Charset for the Azure PostgreSQL Flexible + Server Database, which needs to be a valid PostgreSQL Charset. + Defaults to UTF8. Changing this forces a new Azure PostgreSQL + Flexible Server Database to be created. + type: string + collation: + description: Specifies the Collation for the Azure PostgreSQL + Flexible Server Database, which needs to be a valid PostgreSQL + Collation. Defaults to en_US.utf8. Changing this forces a new + Azure PostgreSQL Flexible Server Database to be created. + type: string + id: + description: The ID of the Azure PostgreSQL Flexible Server Database. + type: string + serverId: + description: The ID of the Azure PostgreSQL Flexible Server from + which to create this PostgreSQL Flexible Server Database. Changing + this forces a new Azure PostgreSQL Flexible Server Database + to be created. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleserverfirewallrules.yaml b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleserverfirewallrules.yaml new file mode 100644 index 000000000..93e1f6b26 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleserverfirewallrules.yaml @@ -0,0 +1,415 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: flexibleserverfirewallrules.dbforpostgresql.azure.kubedb.com +spec: + group: dbforpostgresql.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: FlexibleServerFirewallRule + listKind: FlexibleServerFirewallRuleList + plural: flexibleserverfirewallrules + singular: flexibleserverfirewallrule + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: FlexibleServerFirewallRule is the Schema for the FlexibleServerFirewallRules + API. Manages a PostgreSQL Flexible Server Firewall Rule. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: FlexibleServerFirewallRuleSpec defines the desired state + of FlexibleServerFirewallRule + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + endIpAddress: + description: The End IP Address associated with this PostgreSQL + Flexible Server Firewall Rule. + type: string + serverId: + description: The ID of the PostgreSQL Flexible Server from which + to create this PostgreSQL Flexible Server Firewall Rule. Changing + this forces a new PostgreSQL Flexible Server Firewall Rule to + be created. + type: string + serverIdRef: + description: Reference to a FlexibleServer to populate serverId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + serverIdSelector: + description: Selector for a FlexibleServer to populate serverId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + startIpAddress: + description: The Start IP Address associated with this PostgreSQL + Flexible Server Firewall Rule. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: endIpAddress is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.endIpAddress) + - message: startIpAddress is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.startIpAddress) + status: + description: FlexibleServerFirewallRuleStatus defines the observed state + of FlexibleServerFirewallRule. + properties: + atProvider: + properties: + endIpAddress: + description: The End IP Address associated with this PostgreSQL + Flexible Server Firewall Rule. + type: string + id: + description: The ID of the PostgreSQL Flexible Server Firewall + Rule. + type: string + serverId: + description: The ID of the PostgreSQL Flexible Server from which + to create this PostgreSQL Flexible Server Firewall Rule. Changing + this forces a new PostgreSQL Flexible Server Firewall Rule to + be created. + type: string + startIpAddress: + description: The Start IP Address associated with this PostgreSQL + Flexible Server Firewall Rule. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleservers.yaml b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleservers.yaml new file mode 100644 index 000000000..07c8e5c36 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_flexibleservers.yaml @@ -0,0 +1,681 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: flexibleservers.dbforpostgresql.azure.kubedb.com +spec: + group: dbforpostgresql.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: FlexibleServer + listKind: FlexibleServerList + plural: flexibleservers + singular: flexibleserver + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: FlexibleServer is the Schema for the FlexibleServers API. Manages + a PostgreSQL Flexible Server. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: FlexibleServerSpec defines the desired state of FlexibleServer + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + administratorLogin: + description: The Administrator login for the PostgreSQL Flexible + Server. Required when create_mode is Default and authentication.password_auth_enabled + is true. + type: string + administratorPasswordSecretRef: + description: The Password associated with the administrator_login + for the PostgreSQL Flexible Server. Required when create_mode + is Default and authentication.password_auth_enabled is true. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + authentication: + description: An authentication block as defined below. + items: + properties: + activeDirectoryAuthEnabled: + description: Whether or not Active Directory authentication + is allowed to access the PostgreSQL Flexible Server. Defaults + to false. + type: boolean + passwordAuthEnabled: + description: Whether or not password authentication is allowed + to access the PostgreSQL Flexible Server. Defaults to + true. + type: boolean + tenantId: + description: The Tenant ID of the Azure Active Directory + which is used by the Active Directory authentication. + active_directory_auth_enabled must be set to true. + type: string + type: object + type: array + backupRetentionDays: + description: The backup retention days for the PostgreSQL Flexible + Server. Possible values are between 7 and 35 days. + type: number + createMode: + description: The creation mode which can be used to restore or + replicate existing servers. Possible values are Default, PointInTimeRestore, + Replica and Update. Changing this forces a new PostgreSQL Flexible + Server to be created. + type: string + customerManagedKey: + description: A customer_managed_key block as defined below. Changing + this forces a new resource to be created. + items: + properties: + keyVaultKeyId: + description: The ID of the Key Vault Key. + type: string + primaryUserAssignedIdentityId: + description: Specifies the primary user managed identity + id for a Customer Managed Key. Should be added with identity_ids. + type: string + type: object + type: array + delegatedSubnetId: + description: The ID of the virtual network subnet to create the + PostgreSQL Flexible Server. The provided subnet should not have + any other resource deployed in it and this subnet will be delegated + to the PostgreSQL Flexible Server, if not already delegated. + Changing this forces a new PostgreSQL Flexible Server to be + created. + type: string + geoRedundantBackupEnabled: + description: Is Geo-Redundant backup enabled on the PostgreSQL + Flexible Server. Defaults to false. Changing this forces a new + PostgreSQL Flexible Server to be created. + type: boolean + highAvailability: + description: A high_availability block as defined below. + items: + properties: + mode: + description: The high availability mode for the PostgreSQL + Flexible Server. Possible value are SameZone or ZoneRedundant. + type: string + standbyAvailabilityZone: + description: Specifies the Availability Zone in which the + standby Flexible Server should be located. + type: string + required: + - mode + type: object + type: array + identity: + description: An identity block as defined below. + items: + properties: + identityIds: + description: A list of User Assigned Managed Identity IDs + to be assigned to this PostgreSQL Flexible Server. Required + if used together with customer_managed_key block. + items: + type: string + type: array + type: + description: Specifies the type of Managed Service Identity + that should be configured on this PostgreSQL Flexible + Server. The only possible value is UserAssigned. + type: string + required: + - identityIds + - type + type: object + type: array + location: + description: The Azure Region where the PostgreSQL Flexible Server + should exist. Changing this forces a new PostgreSQL Flexible + Server to be created. + type: string + maintenanceWindow: + description: A maintenance_window block as defined below. + items: + properties: + dayOfWeek: + description: The day of week for maintenance window, where + the week starts on a Sunday, i.e. Sunday = 0, Monday = + 1. Defaults to 0. + type: number + startHour: + description: The start hour for maintenance window. Defaults + to 0. + type: number + startMinute: + description: The start minute for maintenance window. Defaults + to 0. + type: number + type: object + type: array + pointInTimeRestoreTimeInUtc: + description: The point in time to restore from source_server_id + when create_mode is PointInTimeRestore. Changing this forces + a new PostgreSQL Flexible Server to be created. + type: string + privateDnsZoneId: + description: The ID of the private DNS zone to create the PostgreSQL + Flexible Server. Changing this forces a new PostgreSQL Flexible + Server to be created. + type: string + replicationRole: + description: The replication role for the PostgreSQL Flexible + Server. Possible value is None. + type: string + resourceGroupName: + description: The name of the Resource Group where the PostgreSQL + Flexible Server should exist. Changing this forces a new PostgreSQL + Flexible Server to be created. + type: string + skuName: + description: The SKU Name for the PostgreSQL Flexible Server. + The name of the SKU, follows the tier + name pattern (e.g. B_Standard_B1ms, + GP_Standard_D2s_v3, MO_Standard_E4s_v3). + type: string + sourceServerId: + description: The resource ID of the source PostgreSQL Flexible + Server to be restored. Required when create_mode is PointInTimeRestore + or Replica. Changing this forces a new PostgreSQL Flexible Server + to be created. + type: string + storageMb: + description: The max storage allowed for the PostgreSQL Flexible + Server. Possible values are 32768, 65536, 131072, 262144, 524288, + 1048576, 2097152, 4194304, 8388608, and 16777216. + type: number + tags: + additionalProperties: + type: string + description: A mapping of tags which should be assigned to the + PostgreSQL Flexible Server. + type: object + version: + description: The version of PostgreSQL Flexible Server to use. + Possible values are 11,12, 13, 14 and 15. Required when create_mode + is Default. Changing this forces a new PostgreSQL Flexible Server + to be created. + type: string + zone: + description: Specifies the Availability Zone in which the PostgreSQL + Flexible Server should be located. + type: string + required: + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: location is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location) + status: + description: FlexibleServerStatus defines the observed state of FlexibleServer. + properties: + atProvider: + properties: + administratorLogin: + description: The Administrator login for the PostgreSQL Flexible + Server. Required when create_mode is Default and authentication.password_auth_enabled + is true. + type: string + authentication: + description: An authentication block as defined below. + items: + properties: + activeDirectoryAuthEnabled: + description: Whether or not Active Directory authentication + is allowed to access the PostgreSQL Flexible Server. Defaults + to false. + type: boolean + passwordAuthEnabled: + description: Whether or not password authentication is allowed + to access the PostgreSQL Flexible Server. Defaults to + true. + type: boolean + tenantId: + description: The Tenant ID of the Azure Active Directory + which is used by the Active Directory authentication. + active_directory_auth_enabled must be set to true. + type: string + type: object + type: array + backupRetentionDays: + description: The backup retention days for the PostgreSQL Flexible + Server. Possible values are between 7 and 35 days. + type: number + createMode: + description: The creation mode which can be used to restore or + replicate existing servers. Possible values are Default, PointInTimeRestore, + Replica and Update. Changing this forces a new PostgreSQL Flexible + Server to be created. + type: string + customerManagedKey: + description: A customer_managed_key block as defined below. Changing + this forces a new resource to be created. + items: + properties: + keyVaultKeyId: + description: The ID of the Key Vault Key. + type: string + primaryUserAssignedIdentityId: + description: Specifies the primary user managed identity + id for a Customer Managed Key. Should be added with identity_ids. + type: string + type: object + type: array + delegatedSubnetId: + description: The ID of the virtual network subnet to create the + PostgreSQL Flexible Server. The provided subnet should not have + any other resource deployed in it and this subnet will be delegated + to the PostgreSQL Flexible Server, if not already delegated. + Changing this forces a new PostgreSQL Flexible Server to be + created. + type: string + fqdn: + description: The FQDN of the PostgreSQL Flexible Server. + type: string + geoRedundantBackupEnabled: + description: Is Geo-Redundant backup enabled on the PostgreSQL + Flexible Server. Defaults to false. Changing this forces a new + PostgreSQL Flexible Server to be created. + type: boolean + highAvailability: + description: A high_availability block as defined below. + items: + properties: + mode: + description: The high availability mode for the PostgreSQL + Flexible Server. Possible value are SameZone or ZoneRedundant. + type: string + standbyAvailabilityZone: + description: Specifies the Availability Zone in which the + standby Flexible Server should be located. + type: string + type: object + type: array + id: + description: The ID of the PostgreSQL Flexible Server. + type: string + identity: + description: An identity block as defined below. + items: + properties: + identityIds: + description: A list of User Assigned Managed Identity IDs + to be assigned to this PostgreSQL Flexible Server. Required + if used together with customer_managed_key block. + items: + type: string + type: array + type: + description: Specifies the type of Managed Service Identity + that should be configured on this PostgreSQL Flexible + Server. The only possible value is UserAssigned. + type: string + type: object + type: array + location: + description: The Azure Region where the PostgreSQL Flexible Server + should exist. Changing this forces a new PostgreSQL Flexible + Server to be created. + type: string + maintenanceWindow: + description: A maintenance_window block as defined below. + items: + properties: + dayOfWeek: + description: The day of week for maintenance window, where + the week starts on a Sunday, i.e. Sunday = 0, Monday = + 1. Defaults to 0. + type: number + startHour: + description: The start hour for maintenance window. Defaults + to 0. + type: number + startMinute: + description: The start minute for maintenance window. Defaults + to 0. + type: number + type: object + type: array + pointInTimeRestoreTimeInUtc: + description: The point in time to restore from source_server_id + when create_mode is PointInTimeRestore. Changing this forces + a new PostgreSQL Flexible Server to be created. + type: string + privateDnsZoneId: + description: The ID of the private DNS zone to create the PostgreSQL + Flexible Server. Changing this forces a new PostgreSQL Flexible + Server to be created. + type: string + publicNetworkAccessEnabled: + description: Is public network access enabled? + type: boolean + replicationRole: + description: The replication role for the PostgreSQL Flexible + Server. Possible value is None. + type: string + resourceGroupName: + description: The name of the Resource Group where the PostgreSQL + Flexible Server should exist. Changing this forces a new PostgreSQL + Flexible Server to be created. + type: string + skuName: + description: The SKU Name for the PostgreSQL Flexible Server. + The name of the SKU, follows the tier + name pattern (e.g. B_Standard_B1ms, + GP_Standard_D2s_v3, MO_Standard_E4s_v3). + type: string + sourceServerId: + description: The resource ID of the source PostgreSQL Flexible + Server to be restored. Required when create_mode is PointInTimeRestore + or Replica. Changing this forces a new PostgreSQL Flexible Server + to be created. + type: string + storageMb: + description: The max storage allowed for the PostgreSQL Flexible + Server. Possible values are 32768, 65536, 131072, 262144, 524288, + 1048576, 2097152, 4194304, 8388608, and 16777216. + type: number + tags: + additionalProperties: + type: string + description: A mapping of tags which should be assigned to the + PostgreSQL Flexible Server. + type: object + version: + description: The version of PostgreSQL Flexible Server to use. + Possible values are 11,12, 13, 14 and 15. Required when create_mode + is Default. Changing this forces a new PostgreSQL Flexible Server + to be created. + type: string + zone: + description: Specifies the Availability Zone in which the PostgreSQL + Flexible Server should be located. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_serverkeys.yaml b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_serverkeys.yaml new file mode 100644 index 000000000..25241b41d --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_serverkeys.yaml @@ -0,0 +1,466 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: serverkeys.dbforpostgresql.azure.kubedb.com +spec: + group: dbforpostgresql.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: ServerKey + listKind: ServerKeyList + plural: serverkeys + singular: serverkey + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: ServerKey is the Schema for the ServerKeys API. Manages a PostgreSQL + Server Key. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ServerKeySpec defines the desired state of ServerKey + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + keyVaultKeyId: + description: The URL to a Key Vault Key. + type: string + keyVaultKeyIdRef: + description: Reference to a Key in keyvault to populate keyVaultKeyId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + keyVaultKeyIdSelector: + description: Selector for a Key in keyvault to populate keyVaultKeyId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + serverId: + description: The ID of the PostgreSQL Server. Changing this forces + a new resource to be created. + type: string + serverIdRef: + description: Reference to a Server to populate serverId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + serverIdSelector: + description: Selector for a Server to populate serverId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: ServerKeyStatus defines the observed state of ServerKey. + properties: + atProvider: + properties: + id: + description: The ID of the PostgreSQL Server Key. + type: string + keyVaultKeyId: + description: The URL to a Key Vault Key. + type: string + serverId: + description: The ID of the PostgreSQL Server. Changing this forces + a new resource to be created. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_servers.yaml b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_servers.yaml new file mode 100644 index 000000000..3a15f1eb8 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_servers.yaml @@ -0,0 +1,648 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: servers.dbforpostgresql.azure.kubedb.com +spec: + group: dbforpostgresql.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: Server + listKind: ServerList + plural: servers + singular: server + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Server is the Schema for the Servers API. Manages a PostgreSQL + Server. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ServerSpec defines the desired state of Server + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + administratorLogin: + description: The Administrator login for the PostgreSQL Server. + Required when create_mode is Default. Changing this forces a + new resource to be created. + type: string + administratorLoginPasswordSecretRef: + description: The Password associated with the administrator_login + for the PostgreSQL Server. Required when create_mode is Default. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + autoGrowEnabled: + description: Enable/Disable auto-growing of the storage. Storage + auto-grow prevents your server from running out of storage and + becoming read-only. If storage auto grow is enabled, the storage + automatically grows without impacting the workload. The default + value if not explicitly specified is true. + type: boolean + backupRetentionDays: + description: Backup retention days for the server, supported values + are between 7 and 35 days. + type: number + createMode: + description: The creation mode. Can be used to restore or replicate + existing servers. Possible values are Default, Replica, GeoRestore, + and PointInTimeRestore. Defaults to Default. + type: string + creationSourceServerId: + description: For creation modes other than Default, the source + server ID to use. + type: string + geoRedundantBackupEnabled: + description: Turn Geo-redundant server backups on/off. This allows + you to choose between locally redundant or geo-redundant backup + storage in the General Purpose and Memory Optimized tiers. When + the backups are stored in geo-redundant backup storage, they + are not only stored within the region in which your server is + hosted, but are also replicated to a paired data center. This + provides better protection and ability to restore your server + in a different region in the event of a disaster. This is not + support for the Basic tier. Changing this forces a new resource + to be created. + type: boolean + identity: + description: An identity block as defined below. + items: + properties: + type: + description: Specifies the type of Managed Service Identity + that should be configured on this PostgreSQL Server. The + only possible value is SystemAssigned. + type: string + required: + - type + type: object + type: array + infrastructureEncryptionEnabled: + description: Whether or not infrastructure is encrypted for this + server. Changing this forces a new resource to be created. + type: boolean + location: + description: Specifies the supported Azure location where the + resource exists. Changing this forces a new resource to be created. + type: string + publicNetworkAccessEnabled: + description: Whether or not public network access is allowed for + this server. Defaults to true. + type: boolean + resourceGroupName: + description: The name of the resource group in which to create + the PostgreSQL Server. Changing this forces a new resource to + be created. + type: string + restorePointInTime: + description: When create_mode is PointInTimeRestore the point + in time to restore from creation_source_server_id. It should + be provided in RFC3339 format, e.g. 2013-11-08T22:00:40Z. + type: string + skuName: + description: Specifies the SKU Name for this PostgreSQL Server. + The name of the SKU, follows the tier + family + cores pattern + (e.g. B_Gen4_1, GP_Gen5_8). For more information see the product + documentation. Possible values are B_Gen4_1, B_Gen4_2, B_Gen5_1, + B_Gen5_2, GP_Gen4_2, GP_Gen4_4, GP_Gen4_8, GP_Gen4_16, GP_Gen4_32, + GP_Gen5_2, GP_Gen5_4, GP_Gen5_8, GP_Gen5_16, GP_Gen5_32, GP_Gen5_64, + MO_Gen5_2, MO_Gen5_4, MO_Gen5_8, MO_Gen5_16 and MO_Gen5_32. + type: string + sslEnforcementEnabled: + description: Specifies if SSL should be enforced on connections. + Possible values are true and false. + type: boolean + sslMinimalTlsVersionEnforced: + description: The minimum TLS version to support on the sever. + Possible values are TLSEnforcementDisabled, TLS1_0, TLS1_1, + and TLS1_2. Defaults to TLS1_2. + type: string + storageMb: + description: Max storage allowed for a server. Possible values + are between 5120 MB(5GB) and 1048576 MB(1TB) for the Basic SKU + and between 5120 MB(5GB) and 16777216 MB(16TB) for General Purpose/Memory + Optimized SKUs. For more information see the product documentation. + type: number + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the resource. + type: object + threatDetectionPolicy: + description: Threat detection policy configuration, known in the + API as Server Security Alerts Policy. The threat_detection_policy + block supports fields documented below. + items: + properties: + disabledAlerts: + description: Specifies a list of alerts which should be + disabled. Possible values are Sql_Injection, Sql_Injection_Vulnerability, + Access_Anomaly, Data_Exfiltration and Unsafe_Action. + items: + type: string + type: array + emailAccountAdmins: + description: Should the account administrators be emailed + when this alert is triggered? + type: boolean + emailAddresses: + description: A list of email addresses which alerts should + be sent to. + items: + type: string + type: array + enabled: + description: Is the policy enabled? + type: boolean + retentionDays: + description: Specifies the number of days to keep in the + Threat Detection audit logs. + type: number + storageAccountAccessKeySecretRef: + description: Specifies the identifier key of the Threat + Detection audit storage account. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + storageEndpoint: + description: Specifies the blob storage endpoint (e.g. https://example.blob.core.windows.net). + This blob storage will hold all Threat Detection audit + logs. + type: string + type: object + type: array + version: + description: Specifies the version of PostgreSQL to use. Valid + values are 9.5, 9.6, 10, 10.0, 10.2 and 11. Changing this forces + a new resource to be created. + type: string + required: + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: location is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location) + - message: skuName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.skuName) + - message: sslEnforcementEnabled is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.sslEnforcementEnabled) + - message: version is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.version) + status: + description: ServerStatus defines the observed state of Server. + properties: + atProvider: + properties: + administratorLogin: + description: The Administrator login for the PostgreSQL Server. + Required when create_mode is Default. Changing this forces a + new resource to be created. + type: string + autoGrowEnabled: + description: Enable/Disable auto-growing of the storage. Storage + auto-grow prevents your server from running out of storage and + becoming read-only. If storage auto grow is enabled, the storage + automatically grows without impacting the workload. The default + value if not explicitly specified is true. + type: boolean + backupRetentionDays: + description: Backup retention days for the server, supported values + are between 7 and 35 days. + type: number + createMode: + description: The creation mode. Can be used to restore or replicate + existing servers. Possible values are Default, Replica, GeoRestore, + and PointInTimeRestore. Defaults to Default. + type: string + creationSourceServerId: + description: For creation modes other than Default, the source + server ID to use. + type: string + fqdn: + description: The FQDN of the PostgreSQL Server. + type: string + geoRedundantBackupEnabled: + description: Turn Geo-redundant server backups on/off. This allows + you to choose between locally redundant or geo-redundant backup + storage in the General Purpose and Memory Optimized tiers. When + the backups are stored in geo-redundant backup storage, they + are not only stored within the region in which your server is + hosted, but are also replicated to a paired data center. This + provides better protection and ability to restore your server + in a different region in the event of a disaster. This is not + support for the Basic tier. Changing this forces a new resource + to be created. + type: boolean + id: + description: The ID of the PostgreSQL Server. + type: string + identity: + description: An identity block as defined below. + items: + properties: + principalId: + description: The Principal ID associated with this Managed + Service Identity. + type: string + tenantId: + description: The Tenant ID associated with this Managed + Service Identity. + type: string + type: + description: Specifies the type of Managed Service Identity + that should be configured on this PostgreSQL Server. The + only possible value is SystemAssigned. + type: string + type: object + type: array + infrastructureEncryptionEnabled: + description: Whether or not infrastructure is encrypted for this + server. Changing this forces a new resource to be created. + type: boolean + location: + description: Specifies the supported Azure location where the + resource exists. Changing this forces a new resource to be created. + type: string + publicNetworkAccessEnabled: + description: Whether or not public network access is allowed for + this server. Defaults to true. + type: boolean + resourceGroupName: + description: The name of the resource group in which to create + the PostgreSQL Server. Changing this forces a new resource to + be created. + type: string + restorePointInTime: + description: When create_mode is PointInTimeRestore the point + in time to restore from creation_source_server_id. It should + be provided in RFC3339 format, e.g. 2013-11-08T22:00:40Z. + type: string + skuName: + description: Specifies the SKU Name for this PostgreSQL Server. + The name of the SKU, follows the tier + family + cores pattern + (e.g. B_Gen4_1, GP_Gen5_8). For more information see the product + documentation. Possible values are B_Gen4_1, B_Gen4_2, B_Gen5_1, + B_Gen5_2, GP_Gen4_2, GP_Gen4_4, GP_Gen4_8, GP_Gen4_16, GP_Gen4_32, + GP_Gen5_2, GP_Gen5_4, GP_Gen5_8, GP_Gen5_16, GP_Gen5_32, GP_Gen5_64, + MO_Gen5_2, MO_Gen5_4, MO_Gen5_8, MO_Gen5_16 and MO_Gen5_32. + type: string + sslEnforcementEnabled: + description: Specifies if SSL should be enforced on connections. + Possible values are true and false. + type: boolean + sslMinimalTlsVersionEnforced: + description: The minimum TLS version to support on the sever. + Possible values are TLSEnforcementDisabled, TLS1_0, TLS1_1, + and TLS1_2. Defaults to TLS1_2. + type: string + storageMb: + description: Max storage allowed for a server. Possible values + are between 5120 MB(5GB) and 1048576 MB(1TB) for the Basic SKU + and between 5120 MB(5GB) and 16777216 MB(16TB) for General Purpose/Memory + Optimized SKUs. For more information see the product documentation. + type: number + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the resource. + type: object + threatDetectionPolicy: + description: Threat detection policy configuration, known in the + API as Server Security Alerts Policy. The threat_detection_policy + block supports fields documented below. + items: + properties: + disabledAlerts: + description: Specifies a list of alerts which should be + disabled. Possible values are Sql_Injection, Sql_Injection_Vulnerability, + Access_Anomaly, Data_Exfiltration and Unsafe_Action. + items: + type: string + type: array + emailAccountAdmins: + description: Should the account administrators be emailed + when this alert is triggered? + type: boolean + emailAddresses: + description: A list of email addresses which alerts should + be sent to. + items: + type: string + type: array + enabled: + description: Is the policy enabled? + type: boolean + retentionDays: + description: Specifies the number of days to keep in the + Threat Detection audit logs. + type: number + storageEndpoint: + description: Specifies the blob storage endpoint (e.g. https://example.blob.core.windows.net). + This blob storage will hold all Threat Detection audit + logs. + type: string + type: object + type: array + version: + description: Specifies the version of PostgreSQL to use. Valid + values are 9.5, 9.6, 10, 10.0, 10.2 and 11. Changing this forces + a new resource to be created. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_virtualnetworkrules.yaml b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_virtualnetworkrules.yaml new file mode 100644 index 000000000..32f38f69e --- /dev/null +++ b/charts/kubedb-provider-azure/crds/dbforpostgresql.azure.kubedb.com_virtualnetworkrules.yaml @@ -0,0 +1,418 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: virtualnetworkrules.dbforpostgresql.azure.kubedb.com +spec: + group: dbforpostgresql.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: VirtualNetworkRule + listKind: VirtualNetworkRuleList + plural: virtualnetworkrules + singular: virtualnetworkrule + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: VirtualNetworkRule is the Schema for the VirtualNetworkRules + API. Manages a PostgreSQL Virtual Network Rule. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: VirtualNetworkRuleSpec defines the desired state of VirtualNetworkRule + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + ignoreMissingVnetServiceEndpoint: + description: Should the Virtual Network Rule be created before + the Subnet has the Virtual Network Service Endpoint enabled? + type: boolean + resourceGroupName: + description: The name of the resource group where the PostgreSQL + server resides. Changing this forces a new resource to be created. + type: string + serverName: + description: The name of the SQL Server to which this PostgreSQL + virtual network rule will be applied to. Changing this forces + a new resource to be created. + type: string + serverNameRef: + description: Reference to a Server to populate serverName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + serverNameSelector: + description: Selector for a Server to populate serverName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + subnetId: + description: The ID of the subnet that the PostgreSQL server will + be connected to. + type: string + required: + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: subnetId is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.subnetId) + status: + description: VirtualNetworkRuleStatus defines the observed state of VirtualNetworkRule. + properties: + atProvider: + properties: + id: + description: The ID of the PostgreSQL Virtual Network Rule. + type: string + ignoreMissingVnetServiceEndpoint: + description: Should the Virtual Network Rule be created before + the Subnet has the Virtual Network Service Endpoint enabled? + type: boolean + resourceGroupName: + description: The name of the resource group where the PostgreSQL + server resides. Changing this forces a new resource to be created. + type: string + serverName: + description: The name of the SQL Server to which this PostgreSQL + virtual network rule will be applied to. Changing this forces + a new resource to be created. + type: string + subnetId: + description: The ID of the subnet that the PostgreSQL server will + be connected to. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/keyvault.azure.kubedb.com_keys.yaml b/charts/kubedb-provider-azure/crds/keyvault.azure.kubedb.com_keys.yaml new file mode 100644 index 000000000..7d45a14a0 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/keyvault.azure.kubedb.com_keys.yaml @@ -0,0 +1,554 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: keys.keyvault.azure.kubedb.com +spec: + group: keyvault.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: Key + listKind: KeyList + plural: keys + singular: key + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Key is the Schema for the Keys API. Manages a Key Vault Key. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: KeySpec defines the desired state of Key + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + curve: + description: Specifies the curve to use when creating an EC key. + Possible values are P-256, P-256K, P-384, and P-521. This field + will be required in a future release if key_type is EC or EC-HSM. + The API will default to P-256 if nothing is specified. Changing + this forces a new resource to be created. + type: string + expirationDate: + description: Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + type: string + keyOpts: + description: 'A list of JSON web key operations. Possible values + include: decrypt, encrypt, sign, unwrapKey, verify and wrapKey. + Please note these values are case sensitive.' + items: + type: string + type: array + keySize: + description: 'Specifies the Size of the RSA key to create in bytes. + For example, 1024 or 2048. Note: This field is required if key_type + is RSA or RSA-HSM. Changing this forces a new resource to be + created.' + type: number + keyType: + description: Specifies the Key Type to use for this Key Vault + Key. Possible values are EC (Elliptic Curve), EC-HSM, RSA and + RSA-HSM. Changing this forces a new resource to be created. + type: string + keyVaultId: + description: The ID of the Key Vault where the Key should be created. + Changing this forces a new resource to be created. + type: string + keyVaultIdRef: + description: Reference to a Vault to populate keyVaultId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + keyVaultIdSelector: + description: Selector for a Vault to populate keyVaultId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + notBeforeDate: + description: Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). + type: string + rotationPolicy: + description: A rotation_policy block as defined below. + items: + properties: + automatic: + description: An automatic block as defined below. + items: + properties: + timeAfterCreation: + description: Rotate automatically at a duration after + create as an ISO 8601 duration. + type: string + timeBeforeExpiry: + description: Rotate automatically at a duration before + expiry as an ISO 8601 duration. + type: string + type: object + type: array + expireAfter: + description: Expire a Key Vault Key after given duration + as an ISO 8601 duration. + type: string + notifyBeforeExpiry: + description: Notify at a given duration before expiry as + an ISO 8601 duration. Default is P30D. + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the resource. + type: object + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: keyOpts is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.keyOpts) + - message: keyType is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.keyType) + status: + description: KeyStatus defines the observed state of Key. + properties: + atProvider: + properties: + curve: + description: Specifies the curve to use when creating an EC key. + Possible values are P-256, P-256K, P-384, and P-521. This field + will be required in a future release if key_type is EC or EC-HSM. + The API will default to P-256 if nothing is specified. Changing + this forces a new resource to be created. + type: string + e: + description: The RSA public exponent of this Key Vault Key. + type: string + expirationDate: + description: Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + type: string + id: + description: The Key Vault Key ID. + type: string + keyOpts: + description: 'A list of JSON web key operations. Possible values + include: decrypt, encrypt, sign, unwrapKey, verify and wrapKey. + Please note these values are case sensitive.' + items: + type: string + type: array + keySize: + description: 'Specifies the Size of the RSA key to create in bytes. + For example, 1024 or 2048. Note: This field is required if key_type + is RSA or RSA-HSM. Changing this forces a new resource to be + created.' + type: number + keyType: + description: Specifies the Key Type to use for this Key Vault + Key. Possible values are EC (Elliptic Curve), EC-HSM, RSA and + RSA-HSM. Changing this forces a new resource to be created. + type: string + keyVaultId: + description: The ID of the Key Vault where the Key should be created. + Changing this forces a new resource to be created. + type: string + "n": + description: The RSA modulus of this Key Vault Key. + type: string + notBeforeDate: + description: Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). + type: string + publicKeyOpenssh: + description: The OpenSSH encoded public key of this Key Vault + Key. + type: string + publicKeyPem: + description: The PEM encoded public key of this Key Vault Key. + type: string + resourceId: + description: The (Versioned) ID for this Key Vault Key. This property + points to a specific version of a Key Vault Key, as such using + this won't auto-rotate values if used in other Azure Services. + type: string + resourceVersionlessId: + description: The Versionless ID of the Key Vault Key. This property + allows other Azure Services (that support it) to auto-rotate + their value when the Key Vault Key is updated. + type: string + rotationPolicy: + description: A rotation_policy block as defined below. + items: + properties: + automatic: + description: An automatic block as defined below. + items: + properties: + timeAfterCreation: + description: Rotate automatically at a duration after + create as an ISO 8601 duration. + type: string + timeBeforeExpiry: + description: Rotate automatically at a duration before + expiry as an ISO 8601 duration. + type: string + type: object + type: array + expireAfter: + description: Expire a Key Vault Key after given duration + as an ISO 8601 duration. + type: string + notifyBeforeExpiry: + description: Notify at a given duration before expiry as + an ISO 8601 duration. Default is P30D. + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the resource. + type: object + version: + description: The current version of the Key Vault Key. + type: string + versionlessId: + description: The Base ID of the Key Vault Key. + type: string + x: + description: The EC X component of this Key Vault Key. + type: string + "y": + description: The EC Y component of this Key Vault Key. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/keyvault.azure.kubedb.com_vaults.yaml b/charts/kubedb-provider-azure/crds/keyvault.azure.kubedb.com_vaults.yaml new file mode 100644 index 000000000..f49203ae8 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/keyvault.azure.kubedb.com_vaults.yaml @@ -0,0 +1,562 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: vaults.keyvault.azure.kubedb.com +spec: + group: keyvault.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: Vault + listKind: VaultList + plural: vaults + singular: vault + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Vault is the Schema for the Vaults API. Manages a Key Vault. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: VaultSpec defines the desired state of Vault + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + contact: + description: One or more contact block as defined below. + items: + properties: + email: + description: E-mail address of the contact. + type: string + name: + description: Name of the contact. + type: string + phone: + description: Phone number of the contact. + type: string + required: + - email + type: object + type: array + enableRbacAuthorization: + description: Boolean flag to specify whether Azure Key Vault uses + Role Based Access Control (RBAC) for authorization of data actions. + type: boolean + enabledForDeployment: + description: Boolean flag to specify whether Azure Virtual Machines + are permitted to retrieve certificates stored as secrets from + the key vault. + type: boolean + enabledForDiskEncryption: + description: Boolean flag to specify whether Azure Disk Encryption + is permitted to retrieve secrets from the vault and unwrap keys. + type: boolean + enabledForTemplateDeployment: + description: Boolean flag to specify whether Azure Resource Manager + is permitted to retrieve secrets from the key vault. + type: boolean + location: + description: Specifies the supported Azure location where the + resource exists. Changing this forces a new resource to be created. + type: string + networkAcls: + description: A network_acls block as defined below. + items: + properties: + bypass: + description: Specifies which traffic can bypass the network + rules. Possible values are AzureServices and None. + type: string + defaultAction: + description: The Default Action to use when no rules match + from ip_rules / virtual_network_subnet_ids. Possible values + are Allow and Deny. + type: string + ipRules: + description: One or more IP Addresses, or CIDR Blocks which + should be able to access the Key Vault. + items: + type: string + type: array + virtualNetworkSubnetIds: + description: One or more Subnet IDs which should be able + to access this Key Vault. + items: + type: string + type: array + required: + - bypass + - defaultAction + type: object + type: array + publicNetworkAccessEnabled: + description: Whether public network access is allowed for this + Key Vault. Defaults to true. + type: boolean + purgeProtectionEnabled: + description: Is Purge Protection enabled for this Key Vault? + type: boolean + resourceGroupName: + description: The name of the resource group in which to create + the Key Vault. Changing this forces a new resource to be created. + type: string + skuName: + description: The Name of the SKU used for this Key Vault. Possible + values are standard and premium. + type: string + softDeleteRetentionDays: + description: The number of days that items should be retained + for once soft-deleted. This value can be between 7 and 90 (the + default) days. + type: number + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the resource. + type: object + tenantId: + description: The Azure Active Directory tenant ID that should + be used for authenticating requests to the key vault. + type: string + required: + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: location is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location) + - message: skuName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.skuName) + - message: tenantId is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.tenantId) + status: + description: VaultStatus defines the observed state of Vault. + properties: + atProvider: + properties: + accessPolicy: + description: A list of up to 1024 objects describing access policies, + as described below. + items: + properties: + applicationId: + description: The object ID of an Application in Azure Active + Directory. + type: string + certificatePermissions: + description: 'List of certificate permissions, must be one + or more from the following: Backup, Create, Delete, DeleteIssuers, + Get, GetIssuers, Import, List, ListIssuers, ManageContacts, + ManageIssuers, Purge, Recover, Restore, SetIssuers and + Update.' + items: + type: string + type: array + keyPermissions: + description: List of key permissions. Possible values are + Backup, Create, Decrypt, Delete, Encrypt, Get, Import, + List, Purge, Recover, Restore, Sign, UnwrapKey, Update, + Verify, WrapKey, Release, Rotate, GetRotationPolicy and + SetRotationPolicy. + items: + type: string + type: array + objectId: + description: The object ID of a user, service principal + or security group in the Azure Active Directory tenant + for the vault. The object ID must be unique for the list + of access policies. + type: string + secretPermissions: + description: 'List of secret permissions, must be one or + more from the following: Backup, Delete, Get, List, Purge, + Recover, Restore and Set.' + items: + type: string + type: array + storagePermissions: + description: 'List of storage permissions, must be one or + more from the following: Backup, Delete, DeleteSAS, Get, + GetSAS, List, ListSAS, Purge, Recover, RegenerateKey, + Restore, Set, SetSAS and Update.' + items: + type: string + type: array + tenantId: + description: The Azure Active Directory tenant ID that should + be used for authenticating requests to the key vault. + Must match the tenant_id used above. + type: string + type: object + type: array + contact: + description: One or more contact block as defined below. + items: + properties: + email: + description: E-mail address of the contact. + type: string + name: + description: Name of the contact. + type: string + phone: + description: Phone number of the contact. + type: string + type: object + type: array + enableRbacAuthorization: + description: Boolean flag to specify whether Azure Key Vault uses + Role Based Access Control (RBAC) for authorization of data actions. + type: boolean + enabledForDeployment: + description: Boolean flag to specify whether Azure Virtual Machines + are permitted to retrieve certificates stored as secrets from + the key vault. + type: boolean + enabledForDiskEncryption: + description: Boolean flag to specify whether Azure Disk Encryption + is permitted to retrieve secrets from the vault and unwrap keys. + type: boolean + enabledForTemplateDeployment: + description: Boolean flag to specify whether Azure Resource Manager + is permitted to retrieve secrets from the key vault. + type: boolean + id: + description: The ID of the Key Vault. + type: string + location: + description: Specifies the supported Azure location where the + resource exists. Changing this forces a new resource to be created. + type: string + networkAcls: + description: A network_acls block as defined below. + items: + properties: + bypass: + description: Specifies which traffic can bypass the network + rules. Possible values are AzureServices and None. + type: string + defaultAction: + description: The Default Action to use when no rules match + from ip_rules / virtual_network_subnet_ids. Possible values + are Allow and Deny. + type: string + ipRules: + description: One or more IP Addresses, or CIDR Blocks which + should be able to access the Key Vault. + items: + type: string + type: array + virtualNetworkSubnetIds: + description: One or more Subnet IDs which should be able + to access this Key Vault. + items: + type: string + type: array + type: object + type: array + publicNetworkAccessEnabled: + description: Whether public network access is allowed for this + Key Vault. Defaults to true. + type: boolean + purgeProtectionEnabled: + description: Is Purge Protection enabled for this Key Vault? + type: boolean + resourceGroupName: + description: The name of the resource group in which to create + the Key Vault. Changing this forces a new resource to be created. + type: string + skuName: + description: The Name of the SKU used for this Key Vault. Possible + values are standard and premium. + type: string + softDeleteRetentionDays: + description: The number of days that items should be retained + for once soft-deleted. This value can be between 7 and 90 (the + default) days. + type: number + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the resource. + type: object + tenantId: + description: The Azure Active Directory tenant ID that should + be used for authenticating requests to the key vault. + type: string + vaultUri: + description: The URI of the Key Vault, used for performing operations + on keys and secrets. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/network.azure.kubedb.com_privatednszones.yaml b/charts/kubedb-provider-azure/crds/network.azure.kubedb.com_privatednszones.yaml new file mode 100644 index 000000000..46a872ae3 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/network.azure.kubedb.com_privatednszones.yaml @@ -0,0 +1,427 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: privatednszones.network.azure.kubedb.com +spec: + group: network.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: PrivateDNSZone + listKind: PrivateDNSZoneList + plural: privatednszones + singular: privatednszone + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: PrivateDNSZone is the Schema for the PrivateDNSZones API. Manages + a Private DNS Zone. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: PrivateDNSZoneSpec defines the desired state of PrivateDNSZone + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + resourceGroupName: + description: Specifies the resource group where the resource exists. + Changing this forces a new resource to be created. + type: string + soaRecord: + description: An soa_record block as defined below. Changing this + forces a new resource to be created. + items: + properties: + email: + description: The email contact for the SOA record. + type: string + expireTime: + description: The expire time for the SOA record. Defaults + to 2419200. + type: number + minimumTtl: + description: The minimum Time To Live for the SOA record. + By convention, it is used to determine the negative caching + duration. Defaults to 10. + type: number + refreshTime: + description: The refresh time for the SOA record. Defaults + to 3600. + type: number + retryTime: + description: The retry time for the SOA record. Defaults + to 300. + type: number + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the Record Set. + type: object + ttl: + description: The Time To Live of the SOA Record in seconds. + Defaults to 3600. + type: number + required: + - email + type: object + type: array + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the resource. + type: object + required: + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: PrivateDNSZoneStatus defines the observed state of PrivateDNSZone. + properties: + atProvider: + properties: + id: + description: The Private DNS Zone ID. + type: string + maxNumberOfRecordSets: + description: The maximum number of record sets that can be created + in this Private DNS zone. + type: number + maxNumberOfVirtualNetworkLinks: + description: The maximum number of virtual networks that can be + linked to this Private DNS zone. + type: number + maxNumberOfVirtualNetworkLinksWithRegistration: + description: The maximum number of virtual networks that can be + linked to this Private DNS zone with registration enabled. + type: number + numberOfRecordSets: + description: The current number of record sets in this Private + DNS zone. + type: number + resourceGroupName: + description: Specifies the resource group where the resource exists. + Changing this forces a new resource to be created. + type: string + soaRecord: + description: An soa_record block as defined below. Changing this + forces a new resource to be created. + items: + properties: + email: + description: The email contact for the SOA record. + type: string + expireTime: + description: The expire time for the SOA record. Defaults + to 2419200. + type: number + fqdn: + description: The fully qualified domain name of the Record + Set. + type: string + hostName: + description: The domain name of the authoritative name server + for the SOA record. + type: string + minimumTtl: + description: The minimum Time To Live for the SOA record. + By convention, it is used to determine the negative caching + duration. Defaults to 10. + type: number + refreshTime: + description: The refresh time for the SOA record. Defaults + to 3600. + type: number + retryTime: + description: The retry time for the SOA record. Defaults + to 300. + type: number + serialNumber: + description: The serial number for the SOA record. + type: number + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the Record Set. + type: object + ttl: + description: The Time To Live of the SOA Record in seconds. + Defaults to 3600. + type: number + type: object + type: array + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the resource. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/network.azure.kubedb.com_virtualnetworkpeerings.yaml b/charts/kubedb-provider-azure/crds/network.azure.kubedb.com_virtualnetworkpeerings.yaml new file mode 100644 index 000000000..303f112c8 --- /dev/null +++ b/charts/kubedb-provider-azure/crds/network.azure.kubedb.com_virtualnetworkpeerings.yaml @@ -0,0 +1,538 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: virtualnetworkpeerings.network.azure.kubedb.com +spec: + group: network.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: VirtualNetworkPeering + listKind: VirtualNetworkPeeringList + plural: virtualnetworkpeerings + singular: virtualnetworkpeering + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: VirtualNetworkPeering is the Schema for the VirtualNetworkPeerings + API. Manages a virtual network peering which allows resources to access + other resources in the linked virtual network. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: VirtualNetworkPeeringSpec defines the desired state of VirtualNetworkPeering + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + allowForwardedTraffic: + description: Controls if forwarded traffic from VMs in the remote + virtual network is allowed. Defaults to false. + type: boolean + allowGatewayTransit: + description: Controls gatewayLinks can be used in the remote virtual + network’s link to the local virtual network. Defaults to false. + type: boolean + allowVirtualNetworkAccess: + description: Controls if the VMs in the remote virtual network + can access VMs in the local virtual network. Defaults to true. + type: boolean + remoteVirtualNetworkId: + description: The full Azure resource ID of the remote virtual + network. Changing this forces a new resource to be created. + type: string + remoteVirtualNetworkIdRef: + description: Reference to a VirtualNetwork to populate remoteVirtualNetworkId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + remoteVirtualNetworkIdSelector: + description: Selector for a VirtualNetwork to populate remoteVirtualNetworkId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + resourceGroupName: + description: The name of the resource group in which to create + the virtual network peering. Changing this forces a new resource + to be created. + type: string + triggers: + additionalProperties: + type: string + description: A mapping of key values pairs that can be used to + sync network routes from the remote virtual network to the local + virtual network. See the trigger example for an example on how + to set it up. + type: object + useRemoteGateways: + description: Controls if remote gateways can be used on the local + virtual network. If the flag is set to true, and allow_gateway_transit + on the remote peering is also true, virtual network will use + gateways of remote virtual network for transit. Only one peering + can have this flag set to true. This flag cannot be set if virtual + network already has a gateway. Defaults to false. + type: boolean + virtualNetworkName: + description: The name of the virtual network. Changing this forces + a new resource to be created. + type: string + virtualNetworkNameRef: + description: Reference to a VirtualNetwork to populate virtualNetworkName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + virtualNetworkNameSelector: + description: Selector for a VirtualNetwork to populate virtualNetworkName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + required: + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: VirtualNetworkPeeringStatus defines the observed state of + VirtualNetworkPeering. + properties: + atProvider: + properties: + allowForwardedTraffic: + description: Controls if forwarded traffic from VMs in the remote + virtual network is allowed. Defaults to false. + type: boolean + allowGatewayTransit: + description: Controls gatewayLinks can be used in the remote virtual + network’s link to the local virtual network. Defaults to false. + type: boolean + allowVirtualNetworkAccess: + description: Controls if the VMs in the remote virtual network + can access VMs in the local virtual network. Defaults to true. + type: boolean + id: + description: The ID of the Virtual Network Peering. + type: string + remoteVirtualNetworkId: + description: The full Azure resource ID of the remote virtual + network. Changing this forces a new resource to be created. + type: string + resourceGroupName: + description: The name of the resource group in which to create + the virtual network peering. Changing this forces a new resource + to be created. + type: string + triggers: + additionalProperties: + type: string + description: A mapping of key values pairs that can be used to + sync network routes from the remote virtual network to the local + virtual network. See the trigger example for an example on how + to set it up. + type: object + useRemoteGateways: + description: Controls if remote gateways can be used on the local + virtual network. If the flag is set to true, and allow_gateway_transit + on the remote peering is also true, virtual network will use + gateways of remote virtual network for transit. Only one peering + can have this flag set to true. This flag cannot be set if virtual + network already has a gateway. Defaults to false. + type: boolean + virtualNetworkName: + description: The name of the virtual network. Changing this forces + a new resource to be created. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/crds/network.azure.kubedb.com_virtualnetworks.yaml b/charts/kubedb-provider-azure/crds/network.azure.kubedb.com_virtualnetworks.yaml new file mode 100644 index 000000000..437a48a3e --- /dev/null +++ b/charts/kubedb-provider-azure/crds/network.azure.kubedb.com_virtualnetworks.yaml @@ -0,0 +1,442 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: virtualnetworks.network.azure.kubedb.com +spec: + group: network.azure.kubedb.com + names: + categories: + - crossplane + - managed + - azure + kind: VirtualNetwork + listKind: VirtualNetworkList + plural: virtualnetworks + singular: virtualnetwork + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: VirtualNetwork is the Schema for the VirtualNetworks API. Manages + a virtual network including any configured subnets. Each subnet can optionally + be configured with a security group to be associated with the subnet. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: VirtualNetworkSpec defines the desired state of VirtualNetwork + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + addressSpace: + description: The address space that is used the virtual network. + You can supply more than one address space. + items: + type: string + type: array + bgpCommunity: + description: The BGP community attribute in format :. + type: string + ddosProtectionPlan: + description: A ddos_protection_plan block as documented below. + items: + properties: + enable: + description: Enable/disable DDoS Protection Plan on Virtual + Network. + type: boolean + id: + description: The ID of DDoS Protection Plan. + type: string + required: + - enable + - id + type: object + type: array + dnsServers: + description: List of IP addresses of DNS servers + items: + type: string + type: array + edgeZone: + description: Specifies the Edge Zone within the Azure Region where + this Virtual Network should exist. Changing this forces a new + Virtual Network to be created. + type: string + flowTimeoutInMinutes: + description: The flow timeout in minutes for the Virtual Network, + which is used to enable connection tracking for intra-VM flows. + Possible values are between 4 and 30 minutes. + type: number + location: + description: The location/region where the virtual network is + created. Changing this forces a new resource to be created. + type: string + resourceGroupName: + description: The name of the resource group in which to create + the virtual network. Changing this forces a new resource to + be created. + type: string + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the resource. + type: object + required: + - resourceGroupName + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: addressSpace is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.addressSpace) + - message: location is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.location) + status: + description: VirtualNetworkStatus defines the observed state of VirtualNetwork. + properties: + atProvider: + properties: + addressSpace: + description: The address space that is used the virtual network. + You can supply more than one address space. + items: + type: string + type: array + bgpCommunity: + description: The BGP community attribute in format :. + type: string + ddosProtectionPlan: + description: A ddos_protection_plan block as documented below. + items: + properties: + enable: + description: Enable/disable DDoS Protection Plan on Virtual + Network. + type: boolean + id: + description: The ID of DDoS Protection Plan. + type: string + type: object + type: array + dnsServers: + description: List of IP addresses of DNS servers + items: + type: string + type: array + edgeZone: + description: Specifies the Edge Zone within the Azure Region where + this Virtual Network should exist. Changing this forces a new + Virtual Network to be created. + type: string + flowTimeoutInMinutes: + description: The flow timeout in minutes for the Virtual Network, + which is used to enable connection tracking for intra-VM flows. + Possible values are between 4 and 30 minutes. + type: number + guid: + description: The GUID of the virtual network. + type: string + id: + description: The virtual NetworkConfiguration ID. + type: string + location: + description: The location/region where the virtual network is + created. Changing this forces a new resource to be created. + type: string + resourceGroupName: + description: The name of the resource group in which to create + the virtual network. Changing this forces a new resource to + be created. + type: string + subnet: + description: Can be specified multiple times to define multiple + subnets. Each subnet block supports fields documented below. + items: + properties: + addressPrefix: + description: The address prefix to use for the subnet. + type: string + id: + description: The ID of this subnet. + type: string + name: + description: The name of the subnet. + type: string + securityGroup: + description: The Network Security Group to associate with + the subnet. (Referenced by id, ie. azurerm_network_security_group.example.id) + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: A mapping of tags to assign to the resource. + type: object + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-azure/doc.yaml b/charts/kubedb-provider-azure/doc.yaml new file mode 100644 index 000000000..18da3e16b --- /dev/null +++ b/charts/kubedb-provider-azure/doc.yaml @@ -0,0 +1,18 @@ +project: + name: KubeDB Azure Provider for Crossplane + shortName: KubeDB Azure Provider + url: https://github.com/kubedb/provider-azure + description: KubeDB Azure provider for Crossplane + app: a KubeDB Azure provider +repository: + url: https://charts.appscode.com/stable/ + name: appscode +chart: + name: kubedb-provider-azure + values: -- generate from values file -- + valuesExample: -- generate from values file -- +prerequisites: +- Kubernetes 1.21+ +release: + name: kubedb-provider-azure + namespace: crossplane-system \ No newline at end of file diff --git a/charts/kubedb-provider-azure/templates/NOTES.txt b/charts/kubedb-provider-azure/templates/NOTES.txt new file mode 100644 index 000000000..ba72c7f16 --- /dev/null +++ b/charts/kubedb-provider-azure/templates/NOTES.txt @@ -0,0 +1,3 @@ +To verify that Supervisor has started, run: + + kubectl get deployment --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "kubedb-provider-azure.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" diff --git a/charts/kubedb-provider-azure/templates/_helpers.tpl b/charts/kubedb-provider-azure/templates/_helpers.tpl new file mode 100644 index 000000000..21ca27bb0 --- /dev/null +++ b/charts/kubedb-provider-azure/templates/_helpers.tpl @@ -0,0 +1,107 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "kubedb-provider-azure.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "kubedb-provider-azure.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "kubedb-provider-azure.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "kubedb-provider-azure.labels" -}} +helm.sh/chart: {{ include "kubedb-provider-azure.chart" . }} +{{ include "kubedb-provider-azure.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "kubedb-provider-azure.selectorLabels" -}} +app.kubernetes.io/name: {{ include "kubedb-provider-azure.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "kubedb-provider-azure.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "kubedb-provider-azure.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} + +{{/* +Returns the appscode license +*/}} +{{- define "appscode.license" -}} +{{- .Values.license }} +{{- end }} + +{{/* +Returns the registry used for operator docker image +*/}} +{{- define "image.registry" -}} +{{- list .Values.registryFQDN .Values.image.registry | compact | join "/" }} +{{- end }} + +{{- define "appscode.imagePullSecrets" -}} +{{- with .Values.imagePullSecrets -}} +imagePullSecrets: +{{- toYaml . | nindent 2 }} +{{- end }} +{{- end }} + +{{/* +Returns the enabled monitoring agent name +*/}} +{{- define "monitoring.agent" -}} +{{- .Values.monitoring.agent }} +{{- end }} + +{{/* +Returns whether the ServiceMonitor will be labeled with custom label +*/}} +{{- define "monitoring.apply-servicemonitor-label" -}} +{{- ternary "false" "true" ( empty .Values.monitoring.serviceMonitor.labels ) -}} +{{- end }} + +{{/* +Returns the ServiceMonitor labels +*/}} +{{- define "monitoring.servicemonitor-label" -}} +{{- range $key, $val := .Values.monitoring.serviceMonitor.labels }} +{{ $key }}: {{ $val }} +{{- end }} +{{- end }} diff --git a/charts/kubedb-provider-azure/templates/cluster-role-binding.yaml b/charts/kubedb-provider-azure/templates/cluster-role-binding.yaml new file mode 100644 index 000000000..86f9ca1d8 --- /dev/null +++ b/charts/kubedb-provider-azure/templates/cluster-role-binding.yaml @@ -0,0 +1,14 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ include "kubedb-provider-azure.fullname" . }} + labels: + {{- include "kubedb-provider-azure.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ include "kubedb-provider-azure.fullname" . }} +subjects: +- kind: ServiceAccount + name: {{ include "kubedb-provider-azure.fullname" . }} + namespace: {{ .Release.Namespace }} diff --git a/charts/kubedb-provider-azure/templates/cluster-role.yaml b/charts/kubedb-provider-azure/templates/cluster-role.yaml new file mode 100644 index 000000000..67824a510 --- /dev/null +++ b/charts/kubedb-provider-azure/templates/cluster-role.yaml @@ -0,0 +1,37 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ include "kubedb-provider-azure.fullname" . }} + labels: + {{- include "kubedb-provider-azure.labels" . | nindent 4 }} +rules: +- apiGroups: + - azure.kubedb.com + - cache.azure.kubedb.com + - cosmosdb.azure.kubedb.com + - dbformariadb.azure.kubedb.com + - dbformysql.azure.kubedb.com + - dbforpostgresql.azure.kubedb.com + - keyvault.azure.kubedb.com + - network.azure.kubedb.com + resources: ["*"] + verbs: ["*"] +- apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: ["*"] +- apiGroups: [""] + resources: + - nodes + - secrets + verbs: ["list","watch","get"] +- apiGroups: [""] + resources: + - serviceaccounts + verbs: ["create", "get", "patch", "list", "watch"] +- apiGroups: + - "" + resources: + - events + verbs: ["*"] diff --git a/charts/kubedb-provider-azure/templates/deployment.yaml b/charts/kubedb-provider-azure/templates/deployment.yaml new file mode 100644 index 000000000..8856419a8 --- /dev/null +++ b/charts/kubedb-provider-azure/templates/deployment.yaml @@ -0,0 +1,75 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "kubedb-provider-azure.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kubedb-provider-azure.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + {{- include "kubedb-provider-azure.selectorLabels" . | nindent 6 }} + template: + metadata: + {{- with .Values.podAnnotations }} + annotations: + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "kubedb-provider-azure.selectorLabels" . | nindent 8 }} + spec: + {{- include "appscode.imagePullSecrets" . | nindent 6 }} + serviceAccountName: {{ include "kubedb-provider-azure.serviceAccountName" . }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + containers: + - name: {{ .Chart.Name }} + securityContext: + {{- toYaml .Values.image.securityContext | nindent 12 }} + image: {{ include "image.registry" . }}/{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }} + imagePullPolicy: {{ .Values.imagePullPolicy }} + args: + - --debug + ports: + - containerPort: 8080 + name: metrics + protocol: TCP + - containerPort: 9443 + name: webhook + protocol: TCP + # ports: + # - name: metrics + # containerPort: 8080 + # protocol: TCP + # - name: http + # containerPort: 8081 + # protocol: TCP + # livenessProbe: + # httpGet: + # path: /healthz + # port: http + # readinessProbe: + # httpGet: + # path: /readyz + # port: http + resources: + {{- toYaml .Values.image.resources | nindent 12 }} + volumeMounts: + - name: tmp + mountPath: /tmp + volumes: + - name: tmp + emptyDir: {} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/charts/kubedb-provider-azure/templates/provider-config.yaml b/charts/kubedb-provider-azure/templates/provider-config.yaml new file mode 100644 index 000000000..7668d6a81 --- /dev/null +++ b/charts/kubedb-provider-azure/templates/provider-config.yaml @@ -0,0 +1,11 @@ +apiVersion: azure.kubedb.com/v1beta1 +kind: ProviderConfig +metadata: + name: {{ include "kubedb-provider-azure.fullname" . }} +spec: + credentials: + source: Secret + secretRef: + namespace: capi-cluster + name: {{ .Values.azure.secretName }} + key: credential_json diff --git a/charts/kubedb-provider-azure/templates/service.yaml b/charts/kubedb-provider-azure/templates/service.yaml new file mode 100644 index 000000000..8045a0ad3 --- /dev/null +++ b/charts/kubedb-provider-azure/templates/service.yaml @@ -0,0 +1,25 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ include "kubedb-provider-azure.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kubedb-provider-azure.labels" . | nindent 4 }} +{{- if eq "prometheus.io/builtin" ( include "monitoring.agent" . ) }} + annotations: + prometheus.io/scrape: "true" + prometheus.io/path: "/metrics" + prometheus.io/port: "8443" + prometheus.io/scheme: "https" +{{- end }} +spec: + ports: + # Port used to expose admission webhook apiserver + - name: metrics + port: 8080 + targetPort: 8080 + - name: webhook + port: 443 + targetPort: 9443 + selector: + {{- include "kubedb-provider-azure.selectorLabels" . | nindent 4 }} diff --git a/charts/kubedb-provider-azure/templates/serviceaccount.yaml b/charts/kubedb-provider-azure/templates/serviceaccount.yaml new file mode 100644 index 000000000..f79b849bf --- /dev/null +++ b/charts/kubedb-provider-azure/templates/serviceaccount.yaml @@ -0,0 +1,13 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "kubedb-provider-azure.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kubedb-provider-azure.labels" . | nindent 4 }} + {{- with .Values.serviceAccount.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +{{- end }} diff --git a/charts/kubedb-provider-azure/templates/servicemonitor.yaml b/charts/kubedb-provider-azure/templates/servicemonitor.yaml new file mode 100644 index 000000000..e0cc4783b --- /dev/null +++ b/charts/kubedb-provider-azure/templates/servicemonitor.yaml @@ -0,0 +1,30 @@ +{{- if eq "prometheus.io/operator" ( include "monitoring.agent" . ) }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ include "kubedb-provider-azure.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- if eq "true" ( include "monitoring.apply-servicemonitor-label" . ) }} + {{- include "monitoring.servicemonitor-label" . | nindent 4 }} + {{- else }} + {{- include "kubedb-provider-azure.selectorLabels" . | nindent 4 }} + {{- end }} +spec: + namespaceSelector: + matchNames: + - {{ .Release.Namespace }} + selector: + matchLabels: + {{- include "kubedb-provider-azure.selectorLabels" . | nindent 6 }} + endpoints: + - port: api + bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token + scheme: https + tlsConfig: + ca: + secret: + name: {{ include "kubedb-provider-azure.fullname" . }}-apiserver-cert + key: tls.crt + serverName: "{{ include "kubedb-provider-azure.fullname" . }}.{{ .Release.Namespace }}.svc" +{{- end }} diff --git a/charts/kubedb-provider-azure/values.openapiv3_schema.yaml b/charts/kubedb-provider-azure/values.openapiv3_schema.yaml new file mode 100644 index 000000000..94a1f6512 --- /dev/null +++ b/charts/kubedb-provider-azure/values.openapiv3_schema.yaml @@ -0,0 +1,1196 @@ +properties: + affinity: + description: If specified, the pod's scheduling constraints + properties: + nodeAffinity: + description: Describes node affinity scheduling rules for the pod. + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: The scheduler will prefer to schedule pods to nodes that + satisfy the affinity expressions specified by this field, but it may + choose a node that violates one or more of the expressions. The node + that is most preferred is the one with the greatest sum of weights, + i.e. for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling affinity expressions, etc.), compute + a sum by iterating through the elements of this field and adding "weight" + to the sum if the node matches the corresponding matchExpressions; the + node(s) with the highest sum are the most preferred. + items: + description: An empty preferred scheduling term matches all objects + with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling + term matches no objects (i.e. is also a no-op). + properties: + preference: + description: A node selector term, associated with the corresponding + weight. + properties: + matchExpressions: + description: A list of node selector requirements by node's + labels. + items: + description: A node selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: The label key that the selector applies to. + type: string + operator: + description: Represents a key's relationship to a set + of values. Valid operators are In, NotIn, Exists, DoesNotExist. + Gt, and Lt. + type: string + values: + description: An array of string values. If the operator + is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. If the operator is Gt or Lt, the + values array must have a single element, which will + be interpreted as an integer. This array is replaced + during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + description: A list of node selector requirements by node's + fields. + items: + description: A node selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: The label key that the selector applies to. + type: string + operator: + description: Represents a key's relationship to a set + of values. Valid operators are In, NotIn, Exists, DoesNotExist. + Gt, and Lt. + type: string + values: + description: An array of string values. If the operator + is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. If the operator is Gt or Lt, the + values array must have a single element, which will + be interpreted as an integer. This array is replaced + during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + x-kubernetes-map-type: atomic + weight: + description: Weight associated with matching the corresponding nodeSelectorTerm, + in the range 1-100. + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + description: If the affinity requirements specified by this field are + not met at scheduling time, the pod will not be scheduled onto the node. + If the affinity requirements specified by this field cease to be met + at some point during pod execution (e.g. due to an update), the system + may or may not try to eventually evict the pod from its node. + properties: + nodeSelectorTerms: + description: Required. A list of node selector terms. The terms are + ORed. + items: + description: A null or empty node selector term matches no objects. + The requirements of them are ANDed. The TopologySelectorTerm type + implements a subset of the NodeSelectorTerm. + properties: + matchExpressions: + description: A list of node selector requirements by node's + labels. + items: + description: A node selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: The label key that the selector applies to. + type: string + operator: + description: Represents a key's relationship to a set + of values. Valid operators are In, NotIn, Exists, DoesNotExist. + Gt, and Lt. + type: string + values: + description: An array of string values. If the operator + is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. If the operator is Gt or Lt, the + values array must have a single element, which will + be interpreted as an integer. This array is replaced + during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + description: A list of node selector requirements by node's + fields. + items: + description: A node selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: The label key that the selector applies to. + type: string + operator: + description: Represents a key's relationship to a set + of values. Valid operators are In, NotIn, Exists, DoesNotExist. + Gt, and Lt. + type: string + values: + description: An array of string values. If the operator + is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. If the operator is Gt or Lt, the + values array must have a single element, which will + be interpreted as an integer. This array is replaced + during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + x-kubernetes-map-type: atomic + type: array + required: + - nodeSelectorTerms + type: object + x-kubernetes-map-type: atomic + type: object + podAffinity: + description: Describes pod affinity scheduling rules (e.g. co-locate this + pod in the same node, zone, etc. as some other pod(s)). + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: The scheduler will prefer to schedule pods to nodes that + satisfy the affinity expressions specified by this field, but it may + choose a node that violates one or more of the expressions. The node + that is most preferred is the one with the greatest sum of weights, + i.e. for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling affinity expressions, etc.), compute + a sum by iterating through the elements of this field and adding "weight" + to the sum if the node has pods which matches the corresponding podAffinityTerm; + the node(s) with the highest sum are the most preferred. + items: + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred node(s) + properties: + podAffinityTerm: + description: Required. A pod affinity term, associated with the + corresponding weight. + properties: + labelSelector: + description: A label query over a set of resources, in this + case pods. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. This + array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + description: A label query over the set of namespaces that the + term applies to. The term is applied to the union of the namespaces + selected by this field and the ones listed in the namespaces + field. null selector and null or empty namespaces list means + "this pod's namespace". An empty selector ({}) matches all + namespaces. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. This + array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: namespaces specifies a static list of namespace + names that the term applies to. The term is applied to the + union of the namespaces listed in this field and the ones + selected by namespaceSelector. null or empty namespaces list + and null namespaceSelector means "this pod's namespace". + items: + type: string + type: array + topologyKey: + description: This pod should be co-located (affinity) or not + co-located (anti-affinity) with the pods matching the labelSelector + in the specified namespaces, where co-located is defined as + running on a node whose value of the label with key topologyKey + matches that of any node on which any of the selected pods + is running. Empty topologyKey is not allowed. + type: string + required: + - topologyKey + type: object + weight: + description: weight associated with matching the corresponding podAffinityTerm, + in the range 1-100. + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + description: If the affinity requirements specified by this field are + not met at scheduling time, the pod will not be scheduled onto the node. + If the affinity requirements specified by this field cease to be met + at some point during pod execution (e.g. due to a pod label update), + the system may or may not try to eventually evict the pod from its node. + When there are multiple elements, the lists of nodes corresponding to + each podAffinityTerm are intersected, i.e. all terms must be satisfied. + items: + description: Defines a set of pods (namely those matching the labelSelector + relative to the given namespace(s)) that this pod should be co-located + (affinity) or not co-located (anti-affinity) with, where co-located + is defined as running on a node whose value of the label with key + matches that of any node on which a pod of the set of + pods is running + properties: + labelSelector: + description: A label query over a set of resources, in this case + pods. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a + strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + description: A label query over the set of namespaces that the term + applies to. The term is applied to the union of the namespaces + selected by this field and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's + namespace". An empty selector ({}) matches all namespaces. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a + strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: namespaces specifies a static list of namespace names + that the term applies to. The term is applied to the union of + the namespaces listed in this field and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means + "this pod's namespace". + items: + type: string + type: array + topologyKey: + description: This pod should be co-located (affinity) or not co-located + (anti-affinity) with the pods matching the labelSelector in the + specified namespaces, where co-located is defined as running on + a node whose value of the label with key topologyKey matches that + of any node on which any of the selected pods is running. Empty + topologyKey is not allowed. + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + description: Describes pod anti-affinity scheduling rules (e.g. avoid putting + this pod in the same node, zone, etc. as some other pod(s)). + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: The scheduler will prefer to schedule pods to nodes that + satisfy the anti-affinity expressions specified by this field, but it + may choose a node that violates one or more of the expressions. The + node that is most preferred is the one with the greatest sum of weights, + i.e. for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling anti-affinity expressions, etc.), + compute a sum by iterating through the elements of this field and adding + "weight" to the sum if the node has pods which matches the corresponding + podAffinityTerm; the node(s) with the highest sum are the most preferred. + items: + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred node(s) + properties: + podAffinityTerm: + description: Required. A pod affinity term, associated with the + corresponding weight. + properties: + labelSelector: + description: A label query over a set of resources, in this + case pods. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. This + array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + description: A label query over the set of namespaces that the + term applies to. The term is applied to the union of the namespaces + selected by this field and the ones listed in the namespaces + field. null selector and null or empty namespaces list means + "this pod's namespace". An empty selector ({}) matches all + namespaces. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. This + array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: namespaces specifies a static list of namespace + names that the term applies to. The term is applied to the + union of the namespaces listed in this field and the ones + selected by namespaceSelector. null or empty namespaces list + and null namespaceSelector means "this pod's namespace". + items: + type: string + type: array + topologyKey: + description: This pod should be co-located (affinity) or not + co-located (anti-affinity) with the pods matching the labelSelector + in the specified namespaces, where co-located is defined as + running on a node whose value of the label with key topologyKey + matches that of any node on which any of the selected pods + is running. Empty topologyKey is not allowed. + type: string + required: + - topologyKey + type: object + weight: + description: weight associated with matching the corresponding podAffinityTerm, + in the range 1-100. + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + description: If the anti-affinity requirements specified by this field + are not met at scheduling time, the pod will not be scheduled onto the + node. If the anti-affinity requirements specified by this field cease + to be met at some point during pod execution (e.g. due to a pod label + update), the system may or may not try to eventually evict the pod from + its node. When there are multiple elements, the lists of nodes corresponding + to each podAffinityTerm are intersected, i.e. all terms must be satisfied. + items: + description: Defines a set of pods (namely those matching the labelSelector + relative to the given namespace(s)) that this pod should be co-located + (affinity) or not co-located (anti-affinity) with, where co-located + is defined as running on a node whose value of the label with key + matches that of any node on which a pod of the set of + pods is running + properties: + labelSelector: + description: A label query over a set of resources, in this case + pods. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a + strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + description: A label query over the set of namespaces that the term + applies to. The term is applied to the union of the namespaces + selected by this field and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's + namespace". An empty selector ({}) matches all namespaces. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a + strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: namespaces specifies a static list of namespace names + that the term applies to. The term is applied to the union of + the namespaces listed in this field and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means + "this pod's namespace". + items: + type: string + type: array + topologyKey: + description: This pod should be co-located (affinity) or not co-located + (anti-affinity) with the pods matching the labelSelector in the + specified namespaces, where co-located is defined as running on + a node whose value of the label with key topologyKey matches that + of any node on which any of the selected pods is running. Empty + topologyKey is not allowed. + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + azure: + properties: + secretName: + type: string + required: + - secretName + type: object + fullnameOverride: + type: string + image: + properties: + registry: + type: string + repository: + type: string + resources: + description: Compute Resources required by the sidecar container. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute resources + allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute resources + required. If Requests is omitted for a container, it defaults to Limits + if that is explicitly specified, otherwise to an implementation-defined + value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + securityContext: + description: Security options the pod should run with. + properties: + allowPrivilegeEscalation: + description: 'AllowPrivilegeEscalation controls whether a process can + gain more privileges than its parent process. This bool directly controls + if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation + is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN + Note that this field cannot be set when spec.os.name is windows.' + type: boolean + capabilities: + description: The capabilities to add/drop when running containers. Defaults + to the default set of capabilities granted by the container runtime. + Note that this field cannot be set when spec.os.name is windows. + properties: + add: + description: Added capabilities + items: + description: Capability represent POSIX capabilities type + type: string + type: array + drop: + description: Removed capabilities + items: + description: Capability represent POSIX capabilities type + type: string + type: array + type: object + privileged: + description: Run container in privileged mode. Processes in privileged + containers are essentially equivalent to root on the host. Defaults + to false. Note that this field cannot be set when spec.os.name is windows. + type: boolean + procMount: + description: procMount denotes the type of proc mount to use for the containers. + The default is DefaultProcMount which uses the container runtime defaults + for readonly paths and masked paths. This requires the ProcMountType + feature flag to be enabled. Note that this field cannot be set when + spec.os.name is windows. + type: string + readOnlyRootFilesystem: + description: Whether this container has a read-only root filesystem. Default + is false. Note that this field cannot be set when spec.os.name is windows. + type: boolean + runAsGroup: + description: The GID to run the entrypoint of the container process. Uses + runtime default if unset. May also be set in PodSecurityContext. If + set in both SecurityContext and PodSecurityContext, the value specified + in SecurityContext takes precedence. Note that this field cannot be + set when spec.os.name is windows. + format: int64 + type: integer + runAsNonRoot: + description: Indicates that the container must run as a non-root user. + If true, the Kubelet will validate the image at runtime to ensure that + it does not run as UID 0 (root) and fail to start the container if it + does. If unset or false, no such validation will be performed. May also + be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, + the value specified in SecurityContext takes precedence. + type: boolean + runAsUser: + description: The UID to run the entrypoint of the container process. Defaults + to user specified in image metadata if unspecified. May also be set + in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, + the value specified in SecurityContext takes precedence. Note that this + field cannot be set when spec.os.name is windows. + format: int64 + type: integer + seLinuxOptions: + description: The SELinux context to be applied to the container. If unspecified, + the container runtime will allocate a random SELinux context for each + container. May also be set in PodSecurityContext. If set in both SecurityContext + and PodSecurityContext, the value specified in SecurityContext takes + precedence. Note that this field cannot be set when spec.os.name is + windows. + properties: + level: + description: Level is SELinux level label that applies to the container. + type: string + role: + description: Role is a SELinux role label that applies to the container. + type: string + type: + description: Type is a SELinux type label that applies to the container. + type: string + user: + description: User is a SELinux user label that applies to the container. + type: string + type: object + seccompProfile: + description: The seccomp options to use by this container. If seccomp + options are provided at both the pod & container level, the container + options override the pod options. Note that this field cannot be set + when spec.os.name is windows. + properties: + localhostProfile: + description: localhostProfile indicates a profile defined in a file + on the node should be used. The profile must be preconfigured on + the node to work. Must be a descending path, relative to the kubelet's + configured seccomp profile location. Must only be set if type is + "Localhost". + type: string + type: + description: "type indicates which kind of seccomp profile will be\ + \ applied. Valid options are: \n Localhost - a profile defined in\ + \ a file on the node should be used. RuntimeDefault - the container\ + \ runtime default profile should be used. Unconfined - no profile\ + \ should be applied." + type: string + required: + - type + type: object + windowsOptions: + description: The Windows specific settings applied to all containers. + If unspecified, the options from the PodSecurityContext will be used. + If set in both SecurityContext and PodSecurityContext, the value specified + in SecurityContext takes precedence. Note that this field cannot be + set when spec.os.name is linux. + properties: + gmsaCredentialSpec: + description: GMSACredentialSpec is where the GMSA admission webhook + (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents + of the GMSA credential spec named by the GMSACredentialSpecName + field. + type: string + gmsaCredentialSpecName: + description: GMSACredentialSpecName is the name of the GMSA credential + spec to use. + type: string + hostProcess: + description: HostProcess determines if a container should be run as + a 'Host Process' container. This field is alpha-level and will only + be honored by components that enable the WindowsHostProcessContainers + feature flag. Setting this field without the feature flag will result + in errors when validating the Pod. All of a Pod's containers must + have the same effective HostProcess value (it is not allowed to + have a mix of HostProcess containers and non-HostProcess containers). In + addition, if HostProcess is true then HostNetwork must also be set + to true. + type: boolean + runAsUserName: + description: The UserName in Windows to run the entrypoint of the + container process. Defaults to the user specified in image metadata + if unspecified. May also be set in PodSecurityContext. If set in + both SecurityContext and PodSecurityContext, the value specified + in SecurityContext takes precedence. + type: string + type: object + type: object + tag: + type: string + required: + - registry + - repository + - tag + type: object + imagePullPolicy: + type: string + imagePullSecrets: + items: + type: string + type: array + monitoring: + properties: + agent: + enum: + - prometheus.io + - prometheus.io/operator + - prometheus.io/builtin + type: string + serviceMonitor: + properties: + labels: + additionalProperties: + type: string + type: object + type: object + required: + - agent + - serviceMonitor + type: object + nameOverride: + type: string + nodeSelector: + additionalProperties: + type: string + type: object + podAnnotations: + additionalProperties: + type: string + type: object + podSecurityContext: + description: 'PodSecurityContext holds pod-level security attributes and common + container settings. Optional: Defaults to empty. See type description for default + values of each field.' + properties: + fsGroup: + description: "A special supplemental group that applies to all containers\ + \ in a pod. Some volume types allow the Kubelet to change the ownership\ + \ of that volume to be owned by the pod: \n 1. The owning GID will be the\ + \ FSGroup 2. The setgid bit is set (new files created in the volume will\ + \ be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- \n\ + \ If unset, the Kubelet will not modify the ownership and permissions of\ + \ any volume. Note that this field cannot be set when spec.os.name is windows." + format: int64 + type: integer + fsGroupChangePolicy: + description: 'fsGroupChangePolicy defines behavior of changing ownership and + permission of the volume before being exposed inside Pod. This field will + only apply to volume types which support fsGroup based ownership(and permissions). + It will have no effect on ephemeral volume types such as: secret, configmaps + and emptydir. Valid values are "OnRootMismatch" and "Always". If not specified, + "Always" is used. Note that this field cannot be set when spec.os.name is + windows.' + type: string + runAsGroup: + description: The GID to run the entrypoint of the container process. Uses + runtime default if unset. May also be set in SecurityContext. If set in + both SecurityContext and PodSecurityContext, the value specified in SecurityContext + takes precedence for that container. Note that this field cannot be set + when spec.os.name is windows. + format: int64 + type: integer + runAsNonRoot: + description: Indicates that the container must run as a non-root user. If + true, the Kubelet will validate the image at runtime to ensure that it does + not run as UID 0 (root) and fail to start the container if it does. If unset + or false, no such validation will be performed. May also be set in SecurityContext. If + set in both SecurityContext and PodSecurityContext, the value specified + in SecurityContext takes precedence. + type: boolean + runAsUser: + description: The UID to run the entrypoint of the container process. Defaults + to user specified in image metadata if unspecified. May also be set in SecurityContext. If + set in both SecurityContext and PodSecurityContext, the value specified + in SecurityContext takes precedence for that container. Note that this field + cannot be set when spec.os.name is windows. + format: int64 + type: integer + seLinuxOptions: + description: The SELinux context to be applied to all containers. If unspecified, + the container runtime will allocate a random SELinux context for each container. May + also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, + the value specified in SecurityContext takes precedence for that container. + Note that this field cannot be set when spec.os.name is windows. + properties: + level: + description: Level is SELinux level label that applies to the container. + type: string + role: + description: Role is a SELinux role label that applies to the container. + type: string + type: + description: Type is a SELinux type label that applies to the container. + type: string + user: + description: User is a SELinux user label that applies to the container. + type: string + type: object + seccompProfile: + description: The seccomp options to use by the containers in this pod. Note + that this field cannot be set when spec.os.name is windows. + properties: + localhostProfile: + description: localhostProfile indicates a profile defined in a file on + the node should be used. The profile must be preconfigured on the node + to work. Must be a descending path, relative to the kubelet's configured + seccomp profile location. Must only be set if type is "Localhost". + type: string + type: + description: "type indicates which kind of seccomp profile will be applied.\ + \ Valid options are: \n Localhost - a profile defined in a file on the\ + \ node should be used. RuntimeDefault - the container runtime default\ + \ profile should be used. Unconfined - no profile should be applied." + type: string + required: + - type + type: object + supplementalGroups: + description: A list of groups applied to the first process run in each container, + in addition to the container's primary GID. If unspecified, no groups will + be added to any container. Note that this field cannot be set when spec.os.name + is windows. + items: + format: int64 + type: integer + type: array + sysctls: + description: Sysctls hold a list of namespaced sysctls used for the pod. Pods + with unsupported sysctls (by the container runtime) might fail to launch. + Note that this field cannot be set when spec.os.name is windows. + items: + description: Sysctl defines a kernel parameter to be set + properties: + name: + description: Name of a property to set + type: string + value: + description: Value of a property to set + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + description: The Windows specific settings applied to all containers. If unspecified, + the options within a container's SecurityContext will be used. If set in + both SecurityContext and PodSecurityContext, the value specified in SecurityContext + takes precedence. Note that this field cannot be set when spec.os.name is + linux. + properties: + gmsaCredentialSpec: + description: GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) + inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName + field. + type: string + gmsaCredentialSpecName: + description: GMSACredentialSpecName is the name of the GMSA credential + spec to use. + type: string + hostProcess: + description: HostProcess determines if a container should be run as a + 'Host Process' container. This field is alpha-level and will only be + honored by components that enable the WindowsHostProcessContainers feature + flag. Setting this field without the feature flag will result in errors + when validating the Pod. All of a Pod's containers must have the same + effective HostProcess value (it is not allowed to have a mix of HostProcess + containers and non-HostProcess containers). In addition, if HostProcess + is true then HostNetwork must also be set to true. + type: boolean + runAsUserName: + description: The UserName in Windows to run the entrypoint of the container + process. Defaults to the user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext + and PodSecurityContext, the value specified in SecurityContext takes + precedence. + type: string + type: object + type: object + registryFQDN: + type: string + replicaCount: + type: integer + serviceAccount: + properties: + annotations: + additionalProperties: + type: string + type: object + create: + type: boolean + name: + type: string + required: + - create + type: object + tolerations: + description: If specified, the pod's tolerations. + items: + description: The pod this Toleration is attached to tolerates any taint that + matches the triple using the matching operator . + properties: + effect: + description: Effect indicates the taint effect to match. Empty means match + all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule + and NoExecute. + type: string + key: + description: Key is the taint key that the toleration applies to. Empty + means match all taint keys. If the key is empty, operator must be Exists; + this combination means to match all values and all keys. + type: string + operator: + description: Operator represents a key's relationship to the value. Valid + operators are Exists and Equal. Defaults to Equal. Exists is equivalent + to wildcard for value, so that a pod can tolerate all taints of a particular + category. + type: string + tolerationSeconds: + description: TolerationSeconds represents the period of time the toleration + (which must be of effect NoExecute, otherwise this field is ignored) tolerates + the taint. By default, it is not set, which means tolerate the taint forever + (do not evict). Zero and negative values will be treated as 0 (evict immediately) + by the system. + format: int64 + type: integer + value: + description: Value is the taint value the toleration matches to. If the + operator is Exists, the value should be empty, otherwise just a regular + string. + type: string + type: object + type: array +required: +- azure +- image +- imagePullPolicy +- monitoring +- registryFQDN +- replicaCount +- serviceAccount +type: object diff --git a/charts/kubedb-provider-azure/values.yaml b/charts/kubedb-provider-azure/values.yaml new file mode 100644 index 000000000..3e4d194d0 --- /dev/null +++ b/charts/kubedb-provider-azure/values.yaml @@ -0,0 +1,76 @@ +# Default values for kubedb-provider-azure. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +# Overrides name template +nameOverride: "" +# Overrides fullname template +fullnameOverride: "" + +replicaCount: 1 + +# Docker registry fqdn used to pull docker images +# Set this to use docker registry hosted at ${registryFQDN}/${registry}/${image} +registryFQDN: ghcr.io +image: + # Docker registry used to pull operator image + registry: kubedb + # Name of operator container image + repository: provider-azure + # Overrides the image tag whose default is the chart appVersion. + tag: "" + # Compute Resources required by the operator container + resources: {} + # Security options the operator container should run with + securityContext: # +doc-gen:break + allowPrivilegeEscalation: false + capabilities: + drop: ["ALL"] + readOnlyRootFilesystem: true + runAsNonRoot: true + runAsUser: 65534 + seccompProfile: + type: RuntimeDefault + +# Specify an array of imagePullSecrets. +# Secrets must be manually created in the namespace. +# +# Example: +# helm template charts/stash \ +# --set imagePullSecrets[0].name=sec0 \ +# --set imagePullSecrets[1].name=sec1 +imagePullSecrets: [] +# Container image pull policy +imagePullPolicy: Always + +serviceAccount: + # Specifies whether a service account should be created + create: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "" + +podAnnotations: {} + +podSecurityContext: {} + # fsGroup: 2000 + +nodeSelector: {} + +tolerations: [] + +affinity: {} + +monitoring: + # Name of monitoring agent (one of "prometheus.io", "prometheus.io/operator", "prometheus.io/builtin") + agent: "" + serviceMonitor: + # Specify the labels for ServiceMonitor. + # Prometheus crd will select ServiceMonitor using these labels. + # Only usable when monitoring agent is `prometheus.io/operator`. + labels: {} + +azure: + secretName: "azure-credential" diff --git a/charts/kubedb-provider-gcp/.helmignore b/charts/kubedb-provider-gcp/.helmignore new file mode 100644 index 000000000..e03134ce3 --- /dev/null +++ b/charts/kubedb-provider-gcp/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.terraform +*.tfstate* diff --git a/charts/kubedb-provider-gcp/Chart.yaml b/charts/kubedb-provider-gcp/Chart.yaml new file mode 100755 index 000000000..e68caff9d --- /dev/null +++ b/charts/kubedb-provider-gcp/Chart.yaml @@ -0,0 +1,13 @@ +apiVersion: v2 +name: kubedb-provider-gcp +description: A Helm chart for KubeDB GCP Provider for Crossplane +type: application +version: v0.0.1 +appVersion: v0.0.1 +home: https://github.com/kubedb/provider-gcp +icon: https://cdn.appscode.com/images/products/searchlight/icons/android-icon-192x192.png +sources: +- https://github.com/kubedb/provider-gcp +maintainers: +- name: appscode + email: support@appscode.com diff --git a/charts/kubedb-provider-gcp/README.md b/charts/kubedb-provider-gcp/README.md new file mode 100644 index 000000000..7e6758727 --- /dev/null +++ b/charts/kubedb-provider-gcp/README.md @@ -0,0 +1,86 @@ +# KubeDB GCP Provider + +[KubeDB GCP Provider for Crossplane](https://github.com/kubedb/provider-gcp) - KubeDB GCP provider for Crossplane + +## TL;DR; + +```bash +$ helm repo add appscode https://charts.appscode.com/stable/ +$ helm repo update +$ helm search repo appscode/kubedb-provider-gcp --version=v0.0.1 +$ helm upgrade -i kubedb-provider-gcp appscode/kubedb-provider-gcp -n crossplane-system --create-namespace --version=v0.0.1 +``` + +## Introduction + +This chart deploys a KubeDB GCP provider on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager. + +## Prerequisites + +- Kubernetes 1.21+ + +## Installing the Chart + +To install/upgrade the chart with the release name `kubedb-provider-gcp`: + +```bash +$ helm upgrade -i kubedb-provider-gcp appscode/kubedb-provider-gcp -n crossplane-system --create-namespace --version=v0.0.1 +``` + +The command deploys a KubeDB GCP provider on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation. + +> **Tip**: List all releases using `helm list` + +## Uninstalling the Chart + +To uninstall the `kubedb-provider-gcp`: + +```bash +$ helm uninstall kubedb-provider-gcp -n crossplane-system +``` + +The command removes all the Kubernetes components associated with the chart and deletes the release. + +## Configuration + +The following table lists the configurable parameters of the `kubedb-provider-gcp` chart and their default values. + +| Parameter | Description | Default | +|----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| nameOverride | Overrides name template | "" | +| fullnameOverride | Overrides fullname template | "" | +| replicaCount | | 1 | +| registryFQDN | Docker registry fqdn used to pull docker images Set this to use docker registry hosted at ${registryFQDN}/${registry}/${image} | ghcr.io | +| image.registry | Docker registry used to pull operator image | kubedb | +| image.repository | Name of operator container image | provider-gcp | +| image.tag | Overrides the image tag whose default is the chart appVersion. | "" | +| image.resources | Compute Resources required by the operator container | {} | +| image.securityContext | Security options the operator container should run with | {"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsNonRoot":true,"runAsUser":65534,"seccompProfile":{"type":"RuntimeDefault"}} | +| imagePullSecrets | Specify an array of imagePullSecrets. Secrets must be manually created in the namespace.
Example:
`helm template charts/stash \`
`--set imagePullSecrets[0].name=sec0 \`
`--set imagePullSecrets[1].name=sec1` | [] | +| imagePullPolicy | Container image pull policy | Always | +| serviceAccount.create | Specifies whether a service account should be created | true | +| serviceAccount.annotations | Annotations to add to the service account | {} | +| serviceAccount.name | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | "" | +| podAnnotations | | {} | +| podSecurityContext | | {} | +| nodeSelector | | {} | +| tolerations | | [] | +| affinity | | {} | +| monitoring.agent | Name of monitoring agent (one of "prometheus.io", "prometheus.io/operator", "prometheus.io/builtin") | "" | +| monitoring.serviceMonitor.labels | Specify the labels for ServiceMonitor. Prometheus crd will select ServiceMonitor using these labels. Only usable when monitoring agent is `prometheus.io/operator`. | {} | +| gcp.projectID | | "" | +| gcp.secretName | | "gcp-credential" | + + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm upgrade -i`. For example: + +```bash +$ helm upgrade -i kubedb-provider-gcp appscode/kubedb-provider-gcp -n crossplane-system --create-namespace --version=v0.0.1 --set replicaCount=1 +``` + +Alternatively, a YAML file that specifies the values for the parameters can be provided while +installing the chart. For example: + +```bash +$ helm upgrade -i kubedb-provider-gcp appscode/kubedb-provider-gcp -n crossplane-system --create-namespace --version=v0.0.1 --values values.yaml +``` diff --git a/charts/kubedb-provider-gcp/ci/ci-values.yaml b/charts/kubedb-provider-gcp/ci/ci-values.yaml new file mode 100644 index 000000000..c5ec0e0ee --- /dev/null +++ b/charts/kubedb-provider-gcp/ci/ci-values.yaml @@ -0,0 +1,3 @@ +# https://github.com/helm/charts/blob/master/test/README.md#providing-custom-test-values +gcp: + projectID: test diff --git a/charts/kubedb-provider-gcp/crds/compute.gcp.kubedb.com_firewalls.yaml b/charts/kubedb-provider-gcp/crds/compute.gcp.kubedb.com_firewalls.yaml new file mode 100644 index 000000000..675895586 --- /dev/null +++ b/charts/kubedb-provider-gcp/crds/compute.gcp.kubedb.com_firewalls.yaml @@ -0,0 +1,932 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: firewalls.compute.gcp.kubedb.com +spec: + group: compute.gcp.kubedb.com + names: + categories: + - crossplane + - managed + - gcp + kind: Firewall + listKind: FirewallList + plural: firewalls + singular: firewall + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Firewall is the Schema for the Firewalls API. Each network has + its own firewall controlling access to and from the instances. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: FirewallSpec defines the desired state of Firewall + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + allow: + description: The list of ALLOW rules specified by this firewall. + Each rule specifies a protocol and port-range tuple that describes + a permitted connection. Structure is documented below. The list + of ALLOW rules specified by this firewall. Each rule specifies + a protocol and port-range tuple that describes a permitted connection. + items: + properties: + ports: + description: "An optional list of ports to which this rule + applies. This field is only applicable for UDP or TCP + protocol. Each entry must be either an integer or a range. + If not specified, this rule applies to connections through + any port. Example inputs include: [\"22\"], [\"80\",\"443\"], + and [\"12345-12349\"]. An optional list of ports to which + this rule applies. This field is only applicable for UDP + or TCP protocol. Each entry must be either an integer + or a range. If not specified, this rule applies to connections + through any port. \n Example inputs include: [\"22\"], + [\"80\",\"443\"], and [\"12345-12349\"]." + items: + type: string + type: array + protocol: + description: The IP protocol to which this rule applies. + The protocol type is required when creating a firewall + rule. This value can either be one of the following well + known protocol strings (tcp, udp, icmp, esp, ah, sctp, + ipip, all), or the IP protocol number. The IP protocol + to which this rule applies. The protocol type is required + when creating a firewall rule. This value can either be + one of the following well known protocol strings (tcp, + udp, icmp, esp, ah, sctp, ipip, all), or the IP protocol + number. + type: string + required: + - protocol + type: object + type: array + deny: + description: The list of DENY rules specified by this firewall. + Each rule specifies a protocol and port-range tuple that describes + a denied connection. Structure is documented below. The list + of DENY rules specified by this firewall. Each rule specifies + a protocol and port-range tuple that describes a denied connection. + items: + properties: + ports: + description: "An optional list of ports to which this rule + applies. This field is only applicable for UDP or TCP + protocol. Each entry must be either an integer or a range. + If not specified, this rule applies to connections through + any port. Example inputs include: [\"22\"], [\"80\",\"443\"], + and [\"12345-12349\"]. An optional list of ports to which + this rule applies. This field is only applicable for UDP + or TCP protocol. Each entry must be either an integer + or a range. If not specified, this rule applies to connections + through any port. \n Example inputs include: [\"22\"], + [\"80\",\"443\"], and [\"12345-12349\"]." + items: + type: string + type: array + protocol: + description: The IP protocol to which this rule applies. + The protocol type is required when creating a firewall + rule. This value can either be one of the following well + known protocol strings (tcp, udp, icmp, esp, ah, sctp, + ipip, all), or the IP protocol number. The IP protocol + to which this rule applies. The protocol type is required + when creating a firewall rule. This value can either be + one of the following well known protocol strings (tcp, + udp, icmp, esp, ah, sctp, ipip, all), or the IP protocol + number. + type: string + required: + - protocol + type: object + type: array + description: + description: An optional description of this resource. Provide + this property when you create the resource. An optional description + of this resource. Provide this property when you create the + resource. + type: string + destinationRanges: + description: If destination ranges are specified, the firewall + will apply only to traffic that has destination IP address in + these ranges. These ranges must be expressed in CIDR format. + IPv4 or IPv6 ranges are supported. If destination ranges are + specified, the firewall will apply only to traffic that has + destination IP address in these ranges. These ranges must be + expressed in CIDR format. IPv4 or IPv6 ranges are supported. + items: + type: string + type: array + direction: + description: 'Direction of traffic to which this firewall applies; + default is INGRESS. Note: For INGRESS traffic, one of source_ranges, + source_tags or source_service_accounts is required. Possible + values are: INGRESS, EGRESS. Direction of traffic to which this + firewall applies; default is INGRESS. Note: For INGRESS traffic, + one of ''source_ranges'', ''source_tags'' or ''source_service_accounts'' + is required. Possible values: ["INGRESS", "EGRESS"]' + type: string + disabled: + description: Denotes whether the firewall rule is disabled, i.e + not applied to the network it is associated with. When set to + true, the firewall rule is not enforced and the network behaves + as if it did not exist. If this is unspecified, the firewall + rule will be enabled. Denotes whether the firewall rule is disabled, + i.e not applied to the network it is associated with. When set + to true, the firewall rule is not enforced and the network behaves + as if it did not exist. If this is unspecified, the firewall + rule will be enabled. + type: boolean + enableLogging: + description: This field denotes whether to enable logging for + a particular firewall rule. If logging is enabled, logs will + be exported to Stackdriver. Deprecated in favor of log_config + This field denotes whether to enable logging for a particular + firewall rule. If logging is enabled, logs will be exported + to Stackdriver. + type: boolean + logConfig: + description: This field denotes the logging options for a particular + firewall rule. If defined, logging is enabled, and logs will + be exported to Cloud Logging. Structure is documented below. + This field denotes the logging options for a particular firewall + rule. If defined, logging is enabled, and logs will be exported + to Cloud Logging. + items: + properties: + metadata: + description: 'This field denotes whether to include or exclude + metadata for firewall logs. Possible values are: EXCLUDE_ALL_METADATA, + INCLUDE_ALL_METADATA. This field denotes whether to include + or exclude metadata for firewall logs. Possible values: + ["EXCLUDE_ALL_METADATA", "INCLUDE_ALL_METADATA"]' + type: string + required: + - metadata + type: object + type: array + network: + description: The name or self_link of the network to attach this + firewall to. The name or self_link of the network to attach + this firewall to. + type: string + networkRef: + description: Reference to a Network to populate network. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + networkSelector: + description: Selector for a Network to populate network. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + priority: + description: Priority for this rule. This is an integer between + 0 and 65535, both inclusive. When not specified, the value assumed + is 1000. Relative priorities determine precedence of conflicting + rules. Lower value of priority implies higher precedence (eg, + a rule with priority 0 has higher precedence than a rule with + priority 1). DENY rules take precedence over ALLOW rules having + equal priority. Priority for this rule. This is an integer between + 0 and 65535, both inclusive. When not specified, the value assumed + is 1000. Relative priorities determine precedence of conflicting + rules. Lower value of priority implies higher precedence (eg, + a rule with priority 0 has higher precedence than a rule with + priority 1). DENY rules take precedence over ALLOW rules having + equal priority. + type: number + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + sourceRanges: + description: If source ranges are specified, the firewall will + apply only to traffic that has source IP address in these ranges. + These ranges must be expressed in CIDR format. One or both of + sourceRanges and sourceTags may be set. If both properties are + set, the firewall will apply to traffic that has source IP address + within sourceRanges OR the source IP that belongs to a tag listed + in the sourceTags property. The connection does not need to + match both properties for the firewall to apply. IPv4 or IPv6 + ranges are supported. For INGRESS traffic, one of source_ranges, + source_tags or source_service_accounts is required. If source + ranges are specified, the firewall will apply only to traffic + that has source IP address in these ranges. These ranges must + be expressed in CIDR format. One or both of sourceRanges and + sourceTags may be set. If both properties are set, the firewall + will apply to traffic that has source IP address within sourceRanges + OR the source IP that belongs to a tag listed in the sourceTags + property. The connection does not need to match both properties + for the firewall to apply. IPv4 or IPv6 ranges are supported. + For INGRESS traffic, one of 'source_ranges', 'source_tags' or + 'source_service_accounts' is required. + items: + type: string + type: array + sourceServiceAccounts: + description: If source service accounts are specified, the firewall + will apply only to traffic originating from an instance with + a service account in this list. Source service accounts cannot + be used to control traffic to an instance's external IP address + because service accounts are associated with an instance, not + an IP address. sourceRanges can be set at the same time as sourceServiceAccounts. + If both are set, the firewall will apply to traffic that has + source IP address within sourceRanges OR the source IP belongs + to an instance with service account listed in sourceServiceAccount. + The connection does not need to match both properties for the + firewall to apply. sourceServiceAccounts cannot be used at the + same time as sourceTags or targetTags. For INGRESS traffic, + one of source_ranges, source_tags or source_service_accounts + is required. If source service accounts are specified, the firewall + will apply only to traffic originating from an instance with + a service account in this list. Source service accounts cannot + be used to control traffic to an instance's external IP address + because service accounts are associated with an instance, not + an IP address. sourceRanges can be set at the same time as sourceServiceAccounts. + If both are set, the firewall will apply to traffic that has + source IP address within sourceRanges OR the source IP belongs + to an instance with service account listed in sourceServiceAccount. + The connection does not need to match both properties for the + firewall to apply. sourceServiceAccounts cannot be used at the + same time as sourceTags or targetTags. For INGRESS traffic, + one of 'source_ranges', 'source_tags' or 'source_service_accounts' + is required. + items: + type: string + type: array + sourceTags: + description: If source tags are specified, the firewall will apply + only to traffic with source IP that belongs to a tag listed + in source tags. Source tags cannot be used to control traffic + to an instance's external IP address. Because tags are associated + with an instance, not an IP address. One or both of sourceRanges + and sourceTags may be set. If both properties are set, the firewall + will apply to traffic that has source IP address within sourceRanges + OR the source IP that belongs to a tag listed in the sourceTags + property. The connection does not need to match both properties + for the firewall to apply. For INGRESS traffic, one of source_ranges, + source_tags or source_service_accounts is required. If source + tags are specified, the firewall will apply only to traffic + with source IP that belongs to a tag listed in source tags. + Source tags cannot be used to control traffic to an instance's + external IP address. Because tags are associated with an instance, + not an IP address. One or both of sourceRanges and sourceTags + may be set. If both properties are set, the firewall will apply + to traffic that has source IP address within sourceRanges OR + the source IP that belongs to a tag listed in the sourceTags + property. The connection does not need to match both properties + for the firewall to apply. For INGRESS traffic, one of 'source_ranges', + 'source_tags' or 'source_service_accounts' is required. + items: + type: string + type: array + targetServiceAccounts: + description: A list of service accounts indicating sets of instances + located in the network that may make network connections as + specified in allowed[]. targetServiceAccounts cannot be used + at the same time as targetTags or sourceTags. If neither targetServiceAccounts + nor targetTags are specified, the firewall rule applies to all + instances on the specified network. A list of service accounts + indicating sets of instances located in the network that may + make network connections as specified in allowed[]. targetServiceAccounts + cannot be used at the same time as targetTags or sourceTags. + If neither targetServiceAccounts nor targetTags are specified, + the firewall rule applies to all instances on the specified + network. + items: + type: string + type: array + targetTags: + description: A list of instance tags indicating sets of instances + located in the network that may make network connections as + specified in allowed[]. If no targetTags are specified, the + firewall rule applies to all instances on the specified network. + A list of instance tags indicating sets of instances located + in the network that may make network connections as specified + in allowed[]. If no targetTags are specified, the firewall rule + applies to all instances on the specified network. + items: + type: string + type: array + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: FirewallStatus defines the observed state of Firewall. + properties: + atProvider: + properties: + allow: + description: The list of ALLOW rules specified by this firewall. + Each rule specifies a protocol and port-range tuple that describes + a permitted connection. Structure is documented below. The list + of ALLOW rules specified by this firewall. Each rule specifies + a protocol and port-range tuple that describes a permitted connection. + items: + properties: + ports: + description: "An optional list of ports to which this rule + applies. This field is only applicable for UDP or TCP + protocol. Each entry must be either an integer or a range. + If not specified, this rule applies to connections through + any port. Example inputs include: [\"22\"], [\"80\",\"443\"], + and [\"12345-12349\"]. An optional list of ports to which + this rule applies. This field is only applicable for UDP + or TCP protocol. Each entry must be either an integer + or a range. If not specified, this rule applies to connections + through any port. \n Example inputs include: [\"22\"], + [\"80\",\"443\"], and [\"12345-12349\"]." + items: + type: string + type: array + protocol: + description: The IP protocol to which this rule applies. + The protocol type is required when creating a firewall + rule. This value can either be one of the following well + known protocol strings (tcp, udp, icmp, esp, ah, sctp, + ipip, all), or the IP protocol number. The IP protocol + to which this rule applies. The protocol type is required + when creating a firewall rule. This value can either be + one of the following well known protocol strings (tcp, + udp, icmp, esp, ah, sctp, ipip, all), or the IP protocol + number. + type: string + type: object + type: array + creationTimestamp: + description: Creation timestamp in RFC3339 text format. Creation + timestamp in RFC3339 text format. + type: string + deny: + description: The list of DENY rules specified by this firewall. + Each rule specifies a protocol and port-range tuple that describes + a denied connection. Structure is documented below. The list + of DENY rules specified by this firewall. Each rule specifies + a protocol and port-range tuple that describes a denied connection. + items: + properties: + ports: + description: "An optional list of ports to which this rule + applies. This field is only applicable for UDP or TCP + protocol. Each entry must be either an integer or a range. + If not specified, this rule applies to connections through + any port. Example inputs include: [\"22\"], [\"80\",\"443\"], + and [\"12345-12349\"]. An optional list of ports to which + this rule applies. This field is only applicable for UDP + or TCP protocol. Each entry must be either an integer + or a range. If not specified, this rule applies to connections + through any port. \n Example inputs include: [\"22\"], + [\"80\",\"443\"], and [\"12345-12349\"]." + items: + type: string + type: array + protocol: + description: The IP protocol to which this rule applies. + The protocol type is required when creating a firewall + rule. This value can either be one of the following well + known protocol strings (tcp, udp, icmp, esp, ah, sctp, + ipip, all), or the IP protocol number. The IP protocol + to which this rule applies. The protocol type is required + when creating a firewall rule. This value can either be + one of the following well known protocol strings (tcp, + udp, icmp, esp, ah, sctp, ipip, all), or the IP protocol + number. + type: string + type: object + type: array + description: + description: An optional description of this resource. Provide + this property when you create the resource. An optional description + of this resource. Provide this property when you create the + resource. + type: string + destinationRanges: + description: If destination ranges are specified, the firewall + will apply only to traffic that has destination IP address in + these ranges. These ranges must be expressed in CIDR format. + IPv4 or IPv6 ranges are supported. If destination ranges are + specified, the firewall will apply only to traffic that has + destination IP address in these ranges. These ranges must be + expressed in CIDR format. IPv4 or IPv6 ranges are supported. + items: + type: string + type: array + direction: + description: 'Direction of traffic to which this firewall applies; + default is INGRESS. Note: For INGRESS traffic, one of source_ranges, + source_tags or source_service_accounts is required. Possible + values are: INGRESS, EGRESS. Direction of traffic to which this + firewall applies; default is INGRESS. Note: For INGRESS traffic, + one of ''source_ranges'', ''source_tags'' or ''source_service_accounts'' + is required. Possible values: ["INGRESS", "EGRESS"]' + type: string + disabled: + description: Denotes whether the firewall rule is disabled, i.e + not applied to the network it is associated with. When set to + true, the firewall rule is not enforced and the network behaves + as if it did not exist. If this is unspecified, the firewall + rule will be enabled. Denotes whether the firewall rule is disabled, + i.e not applied to the network it is associated with. When set + to true, the firewall rule is not enforced and the network behaves + as if it did not exist. If this is unspecified, the firewall + rule will be enabled. + type: boolean + enableLogging: + description: This field denotes whether to enable logging for + a particular firewall rule. If logging is enabled, logs will + be exported to Stackdriver. Deprecated in favor of log_config + This field denotes whether to enable logging for a particular + firewall rule. If logging is enabled, logs will be exported + to Stackdriver. + type: boolean + id: + description: an identifier for the resource with format projects/{{project}}/global/firewalls/{{name}} + type: string + logConfig: + description: This field denotes the logging options for a particular + firewall rule. If defined, logging is enabled, and logs will + be exported to Cloud Logging. Structure is documented below. + This field denotes the logging options for a particular firewall + rule. If defined, logging is enabled, and logs will be exported + to Cloud Logging. + items: + properties: + metadata: + description: 'This field denotes whether to include or exclude + metadata for firewall logs. Possible values are: EXCLUDE_ALL_METADATA, + INCLUDE_ALL_METADATA. This field denotes whether to include + or exclude metadata for firewall logs. Possible values: + ["EXCLUDE_ALL_METADATA", "INCLUDE_ALL_METADATA"]' + type: string + type: object + type: array + network: + description: The name or self_link of the network to attach this + firewall to. The name or self_link of the network to attach + this firewall to. + type: string + priority: + description: Priority for this rule. This is an integer between + 0 and 65535, both inclusive. When not specified, the value assumed + is 1000. Relative priorities determine precedence of conflicting + rules. Lower value of priority implies higher precedence (eg, + a rule with priority 0 has higher precedence than a rule with + priority 1). DENY rules take precedence over ALLOW rules having + equal priority. Priority for this rule. This is an integer between + 0 and 65535, both inclusive. When not specified, the value assumed + is 1000. Relative priorities determine precedence of conflicting + rules. Lower value of priority implies higher precedence (eg, + a rule with priority 0 has higher precedence than a rule with + priority 1). DENY rules take precedence over ALLOW rules having + equal priority. + type: number + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + selfLink: + description: The URI of the created resource. + type: string + sourceRanges: + description: If source ranges are specified, the firewall will + apply only to traffic that has source IP address in these ranges. + These ranges must be expressed in CIDR format. One or both of + sourceRanges and sourceTags may be set. If both properties are + set, the firewall will apply to traffic that has source IP address + within sourceRanges OR the source IP that belongs to a tag listed + in the sourceTags property. The connection does not need to + match both properties for the firewall to apply. IPv4 or IPv6 + ranges are supported. For INGRESS traffic, one of source_ranges, + source_tags or source_service_accounts is required. If source + ranges are specified, the firewall will apply only to traffic + that has source IP address in these ranges. These ranges must + be expressed in CIDR format. One or both of sourceRanges and + sourceTags may be set. If both properties are set, the firewall + will apply to traffic that has source IP address within sourceRanges + OR the source IP that belongs to a tag listed in the sourceTags + property. The connection does not need to match both properties + for the firewall to apply. IPv4 or IPv6 ranges are supported. + For INGRESS traffic, one of 'source_ranges', 'source_tags' or + 'source_service_accounts' is required. + items: + type: string + type: array + sourceServiceAccounts: + description: If source service accounts are specified, the firewall + will apply only to traffic originating from an instance with + a service account in this list. Source service accounts cannot + be used to control traffic to an instance's external IP address + because service accounts are associated with an instance, not + an IP address. sourceRanges can be set at the same time as sourceServiceAccounts. + If both are set, the firewall will apply to traffic that has + source IP address within sourceRanges OR the source IP belongs + to an instance with service account listed in sourceServiceAccount. + The connection does not need to match both properties for the + firewall to apply. sourceServiceAccounts cannot be used at the + same time as sourceTags or targetTags. For INGRESS traffic, + one of source_ranges, source_tags or source_service_accounts + is required. If source service accounts are specified, the firewall + will apply only to traffic originating from an instance with + a service account in this list. Source service accounts cannot + be used to control traffic to an instance's external IP address + because service accounts are associated with an instance, not + an IP address. sourceRanges can be set at the same time as sourceServiceAccounts. + If both are set, the firewall will apply to traffic that has + source IP address within sourceRanges OR the source IP belongs + to an instance with service account listed in sourceServiceAccount. + The connection does not need to match both properties for the + firewall to apply. sourceServiceAccounts cannot be used at the + same time as sourceTags or targetTags. For INGRESS traffic, + one of 'source_ranges', 'source_tags' or 'source_service_accounts' + is required. + items: + type: string + type: array + sourceTags: + description: If source tags are specified, the firewall will apply + only to traffic with source IP that belongs to a tag listed + in source tags. Source tags cannot be used to control traffic + to an instance's external IP address. Because tags are associated + with an instance, not an IP address. One or both of sourceRanges + and sourceTags may be set. If both properties are set, the firewall + will apply to traffic that has source IP address within sourceRanges + OR the source IP that belongs to a tag listed in the sourceTags + property. The connection does not need to match both properties + for the firewall to apply. For INGRESS traffic, one of source_ranges, + source_tags or source_service_accounts is required. If source + tags are specified, the firewall will apply only to traffic + with source IP that belongs to a tag listed in source tags. + Source tags cannot be used to control traffic to an instance's + external IP address. Because tags are associated with an instance, + not an IP address. One or both of sourceRanges and sourceTags + may be set. If both properties are set, the firewall will apply + to traffic that has source IP address within sourceRanges OR + the source IP that belongs to a tag listed in the sourceTags + property. The connection does not need to match both properties + for the firewall to apply. For INGRESS traffic, one of 'source_ranges', + 'source_tags' or 'source_service_accounts' is required. + items: + type: string + type: array + targetServiceAccounts: + description: A list of service accounts indicating sets of instances + located in the network that may make network connections as + specified in allowed[]. targetServiceAccounts cannot be used + at the same time as targetTags or sourceTags. If neither targetServiceAccounts + nor targetTags are specified, the firewall rule applies to all + instances on the specified network. A list of service accounts + indicating sets of instances located in the network that may + make network connections as specified in allowed[]. targetServiceAccounts + cannot be used at the same time as targetTags or sourceTags. + If neither targetServiceAccounts nor targetTags are specified, + the firewall rule applies to all instances on the specified + network. + items: + type: string + type: array + targetTags: + description: A list of instance tags indicating sets of instances + located in the network that may make network connections as + specified in allowed[]. If no targetTags are specified, the + firewall rule applies to all instances on the specified network. + A list of instance tags indicating sets of instances located + in the network that may make network connections as specified + in allowed[]. If no targetTags are specified, the firewall rule + applies to all instances on the specified network. + items: + type: string + type: array + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-gcp/crds/compute.gcp.kubedb.com_networkpeerings.yaml b/charts/kubedb-provider-gcp/crds/compute.gcp.kubedb.com_networkpeerings.yaml new file mode 100644 index 000000000..6fe6a8a05 --- /dev/null +++ b/charts/kubedb-provider-gcp/crds/compute.gcp.kubedb.com_networkpeerings.yaml @@ -0,0 +1,402 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: networkpeerings.compute.gcp.kubedb.com +spec: + group: compute.gcp.kubedb.com + names: + categories: + - crossplane + - managed + - gcp + kind: NetworkPeering + listKind: NetworkPeeringList + plural: networkpeerings + singular: networkpeering + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: NetworkPeering is the Schema for the NetworkPeerings API. Manages + a network peering within GCE. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: NetworkPeeringSpec defines the desired state of NetworkPeering + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + exportCustomRoutes: + description: Whether to export the custom routes to the peer network. + Defaults to false. Whether to export the custom routes to the + peer network. Defaults to false. + type: boolean + exportSubnetRoutesWithPublicIp: + description: Whether subnet routes with public IP range are exported. + The default value is true, all subnet routes are exported. The + IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses) + are always exported to peers and are not controlled by this + field. + type: boolean + importCustomRoutes: + description: Whether to import the custom routes from the peer + network. Defaults to false. Whether to export the custom routes + from the peer network. Defaults to false. + type: boolean + importSubnetRoutesWithPublicIp: + description: Whether subnet routes with public IP range are imported. + The default value is false. The IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses) + are always imported from peers and are not controlled by this + field. + type: boolean + network: + description: The primary network of the peering. The primary network + of the peering. + type: string + peerNetwork: + description: The peer network in the peering. The peer network + may belong to a different project. The peer network in the peering. + The peer network may belong to a different project. + type: string + stackType: + description: 'Which IP version(s) of traffic and routes are allowed + to be imported or exported between peer networks. The default + value is IPV4_ONLY. Possible values: ["IPV4_ONLY", "IPV4_IPV6"]. + Which IP version(s) of traffic and routes are allowed to be + imported or exported between peer networks. The default value + is IPV4_ONLY. Possible values: ["IPV4_ONLY", "IPV4_IPV6"]' + type: string + required: + - network + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: peerNetwork is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.peerNetwork) + status: + description: NetworkPeeringStatus defines the observed state of NetworkPeering. + properties: + atProvider: + properties: + exportCustomRoutes: + description: Whether to export the custom routes to the peer network. + Defaults to false. Whether to export the custom routes to the + peer network. Defaults to false. + type: boolean + exportSubnetRoutesWithPublicIp: + description: Whether subnet routes with public IP range are exported. + The default value is true, all subnet routes are exported. The + IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses) + are always exported to peers and are not controlled by this + field. + type: boolean + id: + description: an identifier for the resource with format {{network}}/{{name}} + type: string + importCustomRoutes: + description: Whether to import the custom routes from the peer + network. Defaults to false. Whether to export the custom routes + from the peer network. Defaults to false. + type: boolean + importSubnetRoutesWithPublicIp: + description: Whether subnet routes with public IP range are imported. + The default value is false. The IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses) + are always imported from peers and are not controlled by this + field. + type: boolean + network: + description: The primary network of the peering. The primary network + of the peering. + type: string + peerNetwork: + description: The peer network in the peering. The peer network + may belong to a different project. The peer network in the peering. + The peer network may belong to a different project. + type: string + stackType: + description: 'Which IP version(s) of traffic and routes are allowed + to be imported or exported between peer networks. The default + value is IPV4_ONLY. Possible values: ["IPV4_ONLY", "IPV4_IPV6"]. + Which IP version(s) of traffic and routes are allowed to be + imported or exported between peer networks. The default value + is IPV4_ONLY. Possible values: ["IPV4_ONLY", "IPV4_IPV6"]' + type: string + state: + description: State for the peering, either ACTIVE or INACTIVE. + The peering is ACTIVE when there's a matching configuration + in the peer network. State for the peering, either ACTIVE or + INACTIVE. The peering is ACTIVE when there's a matching configuration + in the peer network. + type: string + stateDetails: + description: Details about the current state of the peering. Details + about the current state of the peering. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-gcp/crds/compute.gcp.kubedb.com_networks.yaml b/charts/kubedb-provider-gcp/crds/compute.gcp.kubedb.com_networks.yaml new file mode 100644 index 000000000..e0669011a --- /dev/null +++ b/charts/kubedb-provider-gcp/crds/compute.gcp.kubedb.com_networks.yaml @@ -0,0 +1,491 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: networks.compute.gcp.kubedb.com +spec: + group: compute.gcp.kubedb.com + names: + categories: + - crossplane + - managed + - gcp + kind: Network + listKind: NetworkList + plural: networks + singular: network + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Network is the Schema for the Networks API. Manages a VPC network + or legacy network resource on GCP. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: NetworkSpec defines the desired state of Network + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + autoCreateSubnetworks: + description: "When set to true, the network is created in \"auto + subnet mode\" and it will create a subnet for each region automatically + across the 10.128.0.0/9 address range. When set to false, the + network is created in \"custom subnet mode\" so the user can + explicitly connect subnetwork resources. When set to 'true', + the network is created in \"auto subnet mode\" and it will create + a subnet for each region automatically across the '10.128.0.0/9' + address range. \n When set to 'false', the network is created + in \"custom subnet mode\" so the user can explicitly connect + subnetwork resources." + type: boolean + deleteDefaultRoutesOnCreate: + description: If set to true, default routes (0.0.0.0/0) will be + deleted immediately after network creation. Defaults to false. + If set to 'true', default routes ('0.0.0.0/0') will be deleted + immediately after network creation. Defaults to 'false'. + type: boolean + description: + description: An optional description of this resource. The resource + must be recreated to modify this field. An optional description + of this resource. The resource must be recreated to modify this + field. + type: string + enableUlaInternalIpv6: + description: Enable ULA internal ipv6 on this network. Enabling + this feature will assign a /48 from google defined ULA prefix + fd20::/20. Enable ULA internal ipv6 on this network. Enabling + this feature will assign a /48 from google defined ULA prefix + fd20::/20. + type: boolean + internalIpv6Range: + description: When enabling ula internal ipv6, caller optionally + can specify the /48 range they want from the google defined + ULA prefix fd20::/20. The input must be a valid /48 ULA IPv6 + address and must be within the fd20::/20. Operation will fail + if the speficied /48 is already in used by another resource. + If the field is not speficied, then a /48 range will be randomly + allocated from fd20::/20 and returned via this field. When enabling + ula internal ipv6, caller optionally can specify the /48 range + they want from the google defined ULA prefix fd20::/20. The + input must be a valid /48 ULA IPv6 address and must be within + the fd20::/20. Operation will fail if the speficied /48 is already + in used by another resource. If the field is not speficied, + then a /48 range will be randomly allocated from fd20::/20 and + returned via this field. + type: string + mtu: + description: Maximum Transmission Unit in bytes. The default value + is 1460 bytes. The minimum value for this field is 1300 and + the maximum value is 8896 bytes (jumbo frames). Note that packets + larger than 1500 bytes (standard Ethernet) can be subject to + TCP-MSS clamping or dropped with an ICMP Fragmentation-Needed + message if the packets are routed to the Internet or other VPCs + with varying MTUs. Maximum Transmission Unit in bytes. The default + value is 1460 bytes. The minimum value for this field is 1300 + and the maximum value is 8896 bytes (jumbo frames). Note that + packets larger than 1500 bytes (standard Ethernet) can be subject + to TCP-MSS clamping or dropped with an ICMP 'Fragmentation-Needed' + message if the packets are routed to the Internet or other VPCs + with varying MTUs. + type: number + networkFirewallPolicyEnforcementOrder: + description: 'Set the order that Firewall Rules and Firewall Policies + are evaluated. Default value is AFTER_CLASSIC_FIREWALL. Possible + values are: BEFORE_CLASSIC_FIREWALL, AFTER_CLASSIC_FIREWALL. + Set the order that Firewall Rules and Firewall Policies are + evaluated. Default value: "AFTER_CLASSIC_FIREWALL" Possible + values: ["BEFORE_CLASSIC_FIREWALL", "AFTER_CLASSIC_FIREWALL"]' + type: string + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + routingMode: + description: 'The network-wide routing mode to use. If set to + REGIONAL, this network''s cloud routers will only advertise + routes with subnetworks of this network in the same region as + the router. If set to GLOBAL, this network''s cloud routers + will advertise routes with all subnetworks of this network, + across regions. Possible values are: REGIONAL, GLOBAL. The network-wide + routing mode to use. If set to ''REGIONAL'', this network''s + cloud routers will only advertise routes with subnetworks of + this network in the same region as the router. If set to ''GLOBAL'', + this network''s cloud routers will advertise routes with all + subnetworks of this network, across regions. Possible values: + ["REGIONAL", "GLOBAL"]' + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: NetworkStatus defines the observed state of Network. + properties: + atProvider: + properties: + autoCreateSubnetworks: + description: "When set to true, the network is created in \"auto + subnet mode\" and it will create a subnet for each region automatically + across the 10.128.0.0/9 address range. When set to false, the + network is created in \"custom subnet mode\" so the user can + explicitly connect subnetwork resources. When set to 'true', + the network is created in \"auto subnet mode\" and it will create + a subnet for each region automatically across the '10.128.0.0/9' + address range. \n When set to 'false', the network is created + in \"custom subnet mode\" so the user can explicitly connect + subnetwork resources." + type: boolean + deleteDefaultRoutesOnCreate: + description: If set to true, default routes (0.0.0.0/0) will be + deleted immediately after network creation. Defaults to false. + If set to 'true', default routes ('0.0.0.0/0') will be deleted + immediately after network creation. Defaults to 'false'. + type: boolean + description: + description: An optional description of this resource. The resource + must be recreated to modify this field. An optional description + of this resource. The resource must be recreated to modify this + field. + type: string + enableUlaInternalIpv6: + description: Enable ULA internal ipv6 on this network. Enabling + this feature will assign a /48 from google defined ULA prefix + fd20::/20. Enable ULA internal ipv6 on this network. Enabling + this feature will assign a /48 from google defined ULA prefix + fd20::/20. + type: boolean + gatewayIpv4: + description: The gateway address for default routing out of the + network. This value is selected by GCP. The gateway address + for default routing out of the network. This value is selected + by GCP. + type: string + id: + description: an identifier for the resource with format projects/{{project}}/global/networks/{{name}} + type: string + internalIpv6Range: + description: When enabling ula internal ipv6, caller optionally + can specify the /48 range they want from the google defined + ULA prefix fd20::/20. The input must be a valid /48 ULA IPv6 + address and must be within the fd20::/20. Operation will fail + if the speficied /48 is already in used by another resource. + If the field is not speficied, then a /48 range will be randomly + allocated from fd20::/20 and returned via this field. When enabling + ula internal ipv6, caller optionally can specify the /48 range + they want from the google defined ULA prefix fd20::/20. The + input must be a valid /48 ULA IPv6 address and must be within + the fd20::/20. Operation will fail if the speficied /48 is already + in used by another resource. If the field is not speficied, + then a /48 range will be randomly allocated from fd20::/20 and + returned via this field. + type: string + mtu: + description: Maximum Transmission Unit in bytes. The default value + is 1460 bytes. The minimum value for this field is 1300 and + the maximum value is 8896 bytes (jumbo frames). Note that packets + larger than 1500 bytes (standard Ethernet) can be subject to + TCP-MSS clamping or dropped with an ICMP Fragmentation-Needed + message if the packets are routed to the Internet or other VPCs + with varying MTUs. Maximum Transmission Unit in bytes. The default + value is 1460 bytes. The minimum value for this field is 1300 + and the maximum value is 8896 bytes (jumbo frames). Note that + packets larger than 1500 bytes (standard Ethernet) can be subject + to TCP-MSS clamping or dropped with an ICMP 'Fragmentation-Needed' + message if the packets are routed to the Internet or other VPCs + with varying MTUs. + type: number + networkFirewallPolicyEnforcementOrder: + description: 'Set the order that Firewall Rules and Firewall Policies + are evaluated. Default value is AFTER_CLASSIC_FIREWALL. Possible + values are: BEFORE_CLASSIC_FIREWALL, AFTER_CLASSIC_FIREWALL. + Set the order that Firewall Rules and Firewall Policies are + evaluated. Default value: "AFTER_CLASSIC_FIREWALL" Possible + values: ["BEFORE_CLASSIC_FIREWALL", "AFTER_CLASSIC_FIREWALL"]' + type: string + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + routingMode: + description: 'The network-wide routing mode to use. If set to + REGIONAL, this network''s cloud routers will only advertise + routes with subnetworks of this network in the same region as + the router. If set to GLOBAL, this network''s cloud routers + will advertise routes with all subnetworks of this network, + across regions. Possible values are: REGIONAL, GLOBAL. The network-wide + routing mode to use. If set to ''REGIONAL'', this network''s + cloud routers will only advertise routes with subnetworks of + this network in the same region as the router. If set to ''GLOBAL'', + this network''s cloud routers will advertise routes with all + subnetworks of this network, across regions. Possible values: + ["REGIONAL", "GLOBAL"]' + type: string + selfLink: + description: The URI of the created resource. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-gcp/crds/gcp.kubedb.com_providerconfigs.yaml b/charts/kubedb-provider-gcp/crds/gcp.kubedb.com_providerconfigs.yaml new file mode 100644 index 000000000..ac5356bbc --- /dev/null +++ b/charts/kubedb-provider-gcp/crds/gcp.kubedb.com_providerconfigs.yaml @@ -0,0 +1,157 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: providerconfigs.gcp.kubedb.com +spec: + group: gcp.kubedb.com + names: + categories: + - crossplane + - provider + - gcp + kind: ProviderConfig + listKind: ProviderConfigList + plural: providerconfigs + singular: providerconfig + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + - jsonPath: .spec.credentials.secretRef.name + name: SECRET-NAME + priority: 1 + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: A ProviderConfig configures a GCP provider. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: A ProviderConfigSpec defines the desired state of a ProviderConfig. + properties: + credentials: + description: Credentials required to authenticate to this provider. + properties: + env: + description: Env is a reference to an environment variable that + contains credentials that must be used to connect to the provider. + properties: + name: + description: Name is the name of an environment variable. + type: string + required: + - name + type: object + fs: + description: Fs is a reference to a filesystem location that contains + credentials that must be used to connect to the provider. + properties: + path: + description: Path is a filesystem path. + type: string + required: + - path + type: object + secretRef: + description: A SecretRef is a reference to a secret key that contains + the credentials that must be used to connect to the provider. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + source: + description: Source of the provider credentials. + enum: + - None + - Secret + - InjectedIdentity + - Environment + - Filesystem + type: string + required: + - source + type: object + projectID: + description: ProjectID is the project name (not numerical ID) of this + GCP ProviderConfig. + type: string + required: + - credentials + - projectID + type: object + status: + description: A ProviderConfigStatus reflects the observed state of a ProviderConfig. + properties: + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + users: + description: Users of this provider configuration. + format: int64 + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-gcp/crds/gcp.kubedb.com_providerconfigusages.yaml b/charts/kubedb-provider-gcp/crds/gcp.kubedb.com_providerconfigusages.yaml new file mode 100644 index 000000000..60a07ca60 --- /dev/null +++ b/charts/kubedb-provider-gcp/crds/gcp.kubedb.com_providerconfigusages.yaml @@ -0,0 +1,110 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: providerconfigusages.gcp.kubedb.com +spec: + group: gcp.kubedb.com + names: + categories: + - crossplane + - provider + - gcp + kind: ProviderConfigUsage + listKind: ProviderConfigUsageList + plural: providerconfigusages + singular: providerconfigusage + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + - jsonPath: .providerConfigRef.name + name: CONFIG-NAME + type: string + - jsonPath: .resourceRef.kind + name: RESOURCE-KIND + type: string + - jsonPath: .resourceRef.name + name: RESOURCE-NAME + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: A ProviderConfigUsage indicates that a resource is using a ProviderConfig. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + providerConfigRef: + description: ProviderConfigReference to the provider config being used. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this reference + is required. The default is 'Required', which means the reconcile + will fail if the reference cannot be resolved. 'Optional' means + this reference will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should be resolved. + The default is 'IfNotPresent', which will attempt to resolve + the reference only when the corresponding field is not present. + Use 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + resourceRef: + description: ResourceReference to the managed resource using the provider + config. + properties: + apiVersion: + description: APIVersion of the referenced object. + type: string + kind: + description: Kind of the referenced object. + type: string + name: + description: Name of the referenced object. + type: string + uid: + description: UID of the referenced object. + type: string + required: + - apiVersion + - kind + - name + type: object + required: + - providerConfigRef + - resourceRef + type: object + served: true + storage: true + subresources: {} diff --git a/charts/kubedb-provider-gcp/crds/gcp.kubedb.com_storeconfigs.yaml b/charts/kubedb-provider-gcp/crds/gcp.kubedb.com_storeconfigs.yaml new file mode 100644 index 000000000..312eca173 --- /dev/null +++ b/charts/kubedb-provider-gcp/crds/gcp.kubedb.com_storeconfigs.yaml @@ -0,0 +1,342 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: storeconfigs.gcp.kubedb.com +spec: + group: gcp.kubedb.com + names: + categories: + - crossplane + - store + - gcp + kind: StoreConfig + listKind: StoreConfigList + plural: storeconfigs + singular: storeconfig + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + - jsonPath: .spec.type + name: TYPE + type: string + - jsonPath: .spec.defaultScope + name: DEFAULT-SCOPE + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: A StoreConfig configures how GCP controller should store connection + details. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: A StoreConfigSpec defines the desired state of a ProviderConfig. + properties: + defaultScope: + description: DefaultScope used for scoping secrets for "cluster-scoped" + resources. If store type is "Kubernetes", this would mean the default + namespace to store connection secrets for cluster scoped resources. + In case of "Vault", this would be used as the default parent path. + Typically, should be set as Crossplane installation namespace. + type: string + kubernetes: + description: Kubernetes configures a Kubernetes secret store. If the + "type" is "Kubernetes" but no config provided, in cluster config + will be used. + properties: + auth: + description: Credentials used to connect to the Kubernetes API. + properties: + env: + description: Env is a reference to an environment variable + that contains credentials that must be used to connect to + the provider. + properties: + name: + description: Name is the name of an environment variable. + type: string + required: + - name + type: object + fs: + description: Fs is a reference to a filesystem location that + contains credentials that must be used to connect to the + provider. + properties: + path: + description: Path is a filesystem path. + type: string + required: + - path + type: object + secretRef: + description: A SecretRef is a reference to a secret key that + contains the credentials that must be used to connect to + the provider. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + source: + description: Source of the credentials. + enum: + - None + - Secret + - Environment + - Filesystem + type: string + required: + - source + type: object + required: + - auth + type: object + plugin: + description: Plugin configures External secret store as a plugin. + properties: + configRef: + description: ConfigRef contains store config reference info. + properties: + apiVersion: + description: APIVersion of the referenced config. + type: string + kind: + description: Kind of the referenced config. + type: string + name: + description: Name of the referenced config. + type: string + required: + - apiVersion + - kind + - name + type: object + endpoint: + description: Endpoint is the endpoint of the gRPC server. + type: string + type: object + type: + default: Kubernetes + description: Type configures which secret store to be used. Only the + configuration block for this store will be used and others will + be ignored if provided. Default is Kubernetes. + enum: + - Kubernetes + - Vault + - Plugin + type: string + vault: + description: 'Vault configures a Vault secret store. Deprecated: This + API is scheduled to be removed in a future release. Vault should + be used as a plugin going forward. See https://github.com/crossplane-contrib/ess-plugin-vault + for more information.' + properties: + auth: + description: Auth configures an authentication method for Vault. + properties: + method: + description: Method configures which auth method will be used. + type: string + token: + description: Token configures Token Auth for Vault. + properties: + env: + description: Env is a reference to an environment variable + that contains credentials that must be used to connect + to the provider. + properties: + name: + description: Name is the name of an environment variable. + type: string + required: + - name + type: object + fs: + description: Fs is a reference to a filesystem location + that contains credentials that must be used to connect + to the provider. + properties: + path: + description: Path is a filesystem path. + type: string + required: + - path + type: object + secretRef: + description: A SecretRef is a reference to a secret key + that contains the credentials that must be used to connect + to the provider. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + source: + description: Source of the credentials. + enum: + - None + - Secret + - Environment + - Filesystem + type: string + required: + - source + type: object + required: + - method + type: object + caBundle: + description: CABundle configures CA bundle for Vault Server. + properties: + env: + description: Env is a reference to an environment variable + that contains credentials that must be used to connect to + the provider. + properties: + name: + description: Name is the name of an environment variable. + type: string + required: + - name + type: object + fs: + description: Fs is a reference to a filesystem location that + contains credentials that must be used to connect to the + provider. + properties: + path: + description: Path is a filesystem path. + type: string + required: + - path + type: object + secretRef: + description: A SecretRef is a reference to a secret key that + contains the credentials that must be used to connect to + the provider. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + source: + description: Source of the credentials. + enum: + - None + - Secret + - Environment + - Filesystem + type: string + required: + - source + type: object + mountPath: + description: MountPath is the mount path of the KV secrets engine. + type: string + server: + description: Server is the url of the Vault server, e.g. "https://vault.acme.org" + type: string + version: + default: v2 + description: Version of the KV Secrets engine of Vault. https://www.vaultproject.io/docs/secrets/kv + type: string + required: + - auth + - mountPath + - server + type: object + required: + - defaultScope + type: object + status: + description: A StoreConfigStatus represents the status of a StoreConfig. + properties: + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-gcp/crds/redis.gcp.kubedb.com_instances.yaml b/charts/kubedb-provider-gcp/crds/redis.gcp.kubedb.com_instances.yaml new file mode 100644 index 000000000..912c92503 --- /dev/null +++ b/charts/kubedb-provider-gcp/crds/redis.gcp.kubedb.com_instances.yaml @@ -0,0 +1,1020 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: instances.redis.gcp.kubedb.com +spec: + group: redis.gcp.kubedb.com + names: + categories: + - crossplane + - managed + - gcp + kind: Instance + listKind: InstanceList + plural: instances + singular: instance + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Instance is the Schema for the Instances API. A Google Cloud + Redis instance. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: InstanceSpec defines the desired state of Instance + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + alternativeLocationId: + description: Only applicable to STANDARD_HA tier which protects + the instance against zonal failures by provisioning it across + two zones. If provided, it must be a different zone from the + one provided in [locationId]. Only applicable to STANDARD_HA + tier which protects the instance against zonal failures by provisioning + it across two zones. If provided, it must be a different zone + from the one provided in [locationId]. + type: string + authEnabled: + description: Optional. Indicates whether OSS Redis AUTH is enabled + for the instance. If set to "true" AUTH is enabled on the instance. + Default value is "false" meaning AUTH is disabled. Optional. + Indicates whether OSS Redis AUTH is enabled for the instance. + If set to "true" AUTH is enabled on the instance. Default value + is "false" meaning AUTH is disabled. + type: boolean + authorizedNetwork: + description: The full name of the Google Compute Engine network + to which the instance is connected. If left unspecified, the + default network will be used. The full name of the Google Compute + Engine network to which the instance is connected. If left unspecified, + the default network will be used. + type: string + connectMode: + description: 'The connection mode of the Redis instance. Default + value is DIRECT_PEERING. Possible values are: DIRECT_PEERING, + PRIVATE_SERVICE_ACCESS. The connection mode of the Redis instance. + Default value: "DIRECT_PEERING" Possible values: ["DIRECT_PEERING", + "PRIVATE_SERVICE_ACCESS"]' + type: string + customerManagedKey: + description: Optional. The KMS key reference that you want to + use to encrypt the data at rest for this Redis instance. If + this is provided, CMEK is enabled. Optional. The KMS key reference + that you want to use to encrypt the data at rest for this Redis + instance. If this is provided, CMEK is enabled. + type: string + displayName: + description: An arbitrary and optional user-provided name for + the instance. An arbitrary and optional user-provided name for + the instance. + type: string + labels: + additionalProperties: + type: string + description: Resource labels to represent user provided metadata. + Resource labels to represent user provided metadata. + type: object + locationId: + description: The zone where the instance will be provisioned. + If not provided, the service will choose a zone for the instance. + For STANDARD_HA tier, instances will be created across two zones + for protection against zonal failures. If [alternativeLocationId] + is also provided, it must be different from [locationId]. The + zone where the instance will be provisioned. If not provided, + the service will choose a zone for the instance. For STANDARD_HA + tier, instances will be created across two zones for protection + against zonal failures. If [alternativeLocationId] is also provided, + it must be different from [locationId]. + type: string + maintenancePolicy: + description: Maintenance policy for an instance. Structure is + documented below. Maintenance policy for an instance. + items: + properties: + description: + description: Optional. Description of what this policy is + for. Create/Update methods return INVALID_ARGUMENT if + the length is greater than 512. Optional. Description + of what this policy is for. Create/Update methods return + INVALID_ARGUMENT if the length is greater than 512. + type: string + weeklyMaintenanceWindow: + description: Optional. Maintenance window that is applied + to resources covered by this policy. Minimum 1. For the + current version, the maximum number of weekly_window is + expected to be one. Structure is documented below. Optional. + Maintenance window that is applied to resources covered + by this policy. Minimum 1. For the current version, the + maximum number of weekly_window is expected to be one. + items: + properties: + day: + description: "Required. The day of week that maintenance + updates occur. Required. The day of week that maintenance + updates occur. \n - DAY_OF_WEEK_UNSPECIFIED: The + day of the week is unspecified. - MONDAY: Monday + - TUESDAY: Tuesday - WEDNESDAY: Wednesday - THURSDAY: + Thursday - FRIDAY: Friday - SATURDAY: Saturday - + SUNDAY: Sunday Possible values: [\"DAY_OF_WEEK_UNSPECIFIED\", + \"MONDAY\", \"TUESDAY\", \"WEDNESDAY\", \"THURSDAY\", + \"FRIDAY\", \"SATURDAY\", \"SUNDAY\"]" + type: string + startTime: + description: Required. Start time of the window in + UTC time. Structure is documented below. Required. + Start time of the window in UTC time. + items: + properties: + hours: + description: Hours of day in 24 hour format. + Should be from 0 to 23. An API may choose + to allow the value "24:00:00" for scenarios + like business closing time. Hours of day in + 24 hour format. Should be from 0 to 23. An + API may choose to allow the value "24:00:00" + for scenarios like business closing time. + type: number + minutes: + description: Minutes of hour of day. Must be + from 0 to 59. Minutes of hour of day. Must + be from 0 to 59. + type: number + nanos: + description: Fractions of seconds in nanoseconds. + Must be from 0 to 999,999,999. Fractions of + seconds in nanoseconds. Must be from 0 to + 999,999,999. + type: number + seconds: + description: Seconds of minutes of the time. + Must normally be from 0 to 59. An API may + allow the value 60 if it allows leap-seconds. + Seconds of minutes of the time. Must normally + be from 0 to 59. An API may allow the value + 60 if it allows leap-seconds. + type: number + type: object + type: array + required: + - day + - startTime + type: object + type: array + type: object + type: array + maintenanceSchedule: + description: Upcoming maintenance schedule. Structure is documented + below. Upcoming maintenance schedule. + items: + type: object + type: array + memorySizeGb: + description: Redis memory size in GiB. Redis memory size in GiB. + type: number + persistenceConfig: + description: Persistence configuration for an instance. Structure + is documented below. Persistence configuration for an instance. + items: + properties: + persistenceMode: + description: "Optional. Controls whether Persistence features + are enabled. If not provided, the existing value will + be used. Optional. Controls whether Persistence features + are enabled. If not provided, the existing value will + be used. \n - DISABLED: \tPersistence is disabled for + the instance, and any existing snapshots are deleted. + - RDB: RDB based Persistence is enabled. Possible values: + [\"DISABLED\", \"RDB\"]" + type: string + rdbSnapshotPeriod: + description: "Optional. Available snapshot periods for scheduling. + Optional. Available snapshot periods for scheduling. \n + - ONE_HOUR:\tSnapshot every 1 hour. - SIX_HOURS:\tSnapshot + every 6 hours. - TWELVE_HOURS:\tSnapshot every 12 hours. + - TWENTY_FOUR_HOURS:\tSnapshot every 24 hours. Possible + values: [\"ONE_HOUR\", \"SIX_HOURS\", \"TWELVE_HOURS\", + \"TWENTY_FOUR_HOURS\"]" + type: string + rdbSnapshotStartTime: + description: 'Optional. Date and time that the first snapshot + was/will be attempted, and to which future snapshots will + be aligned. If not provided, the current time will be + used. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond + resolution and up to nine fractional digits. Examples: + "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". + Optional. Date and time that the first snapshot was/will + be attempted, and to which future snapshots will be aligned. + If not provided, the current time will be used. A timestamp + in RFC3339 UTC "Zulu" format, with nanosecond resolution + and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" + and "2014-10-02T15:01:23.045123456Z".' + type: string + type: object + type: array + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + readReplicasMode: + description: 'Optional. Read replica mode. Can only be specified + when trying to create the instance. If not set, Memorystore + Redis backend will default to READ_REPLICAS_DISABLED. Optional. + Read replica mode. Can only be specified when trying to create + the instance. If not set, Memorystore Redis backend will default + to READ_REPLICAS_DISABLED. - READ_REPLICAS_DISABLED: If disabled, + read endpoint will not be provided and the instance cannot scale + up or down the number of replicas. - READ_REPLICAS_ENABLED: + If enabled, read endpoint will be provided and the instance + can scale up and down the number of replicas. Possible values: + ["READ_REPLICAS_DISABLED", "READ_REPLICAS_ENABLED"]' + type: string + redisConfigs: + additionalProperties: + type: string + description: 'Redis configuration parameters, according to http://redis.io/topics/config. + Please check Memorystore documentation for the list of supported + parameters: https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs + Redis configuration parameters, according to http://redis.io/topics/config. + Please check Memorystore documentation for the list of supported + parameters: https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs' + type: object + redisVersion: + description: The version of Redis software. If not provided, latest + supported version will be used. Please check the API documentation + linked at the top for the latest valid values. The version of + Redis software. If not provided, latest supported version will + be used. Please check the API documentation linked at the top + for the latest valid values. + type: string + region: + description: The name of the Redis region of the instance. The + name of the Redis region of the instance. + type: string + replicaCount: + description: Optional. The number of replica nodes. The valid + range for the Standard Tier with read replicas enabled is [1-5] + and defaults to 2. If read replicas are not enabled for a Standard + Tier instance, the only valid value is 1 and the default is + 1. The valid value for basic tier is 0 and the default is also + 0. Optional. The number of replica nodes. The valid range for + the Standard Tier with read replicas enabled is [1-5] and defaults + to 2. If read replicas are not enabled for a Standard Tier instance, + the only valid value is 1 and the default is 1. The valid value + for basic tier is 0 and the default is also 0. + type: number + reservedIpRange: + description: The CIDR range of internal addresses that are reserved + for this instance. If not provided, the service will choose + an unused /29 block, for example, 10.0.0.0/29 or 192.168.0.0/29. + Ranges must be unique and non-overlapping with existing subnets + in an authorized network. The CIDR range of internal addresses + that are reserved for this instance. If not provided, the service + will choose an unused /29 block, for example, 10.0.0.0/29 or + 192.168.0.0/29. Ranges must be unique and non-overlapping with + existing subnets in an authorized network. + type: string + secondaryIpRange: + description: Optional. Additional IP range for node placement. + Required when enabling read replicas on an existing instance. + For DIRECT_PEERING mode value must be a CIDR range of size /28, + or "auto". For PRIVATE_SERVICE_ACCESS mode value must be the + name of an allocated address range associated with the private + service access connection, or "auto". Optional. Additional IP + range for node placement. Required when enabling read replicas + on an existing instance. For DIRECT_PEERING mode value must + be a CIDR range of size /28, or "auto". For PRIVATE_SERVICE_ACCESS + mode value must be the name of an allocated address range associated + with the private service access connection, or "auto". + type: string + tier: + description: "The service tier of the instance. Must be one of + these values: The service tier of the instance. Must be one + of these values: \n - BASIC: standalone instance - STANDARD_HA: + highly available primary/replica instances Default value: \"BASIC\" + Possible values: [\"BASIC\", \"STANDARD_HA\"]" + type: string + transitEncryptionMode: + description: "The TLS mode of the Redis instance, If not provided, + TLS is disabled for the instance. The TLS mode of the Redis + instance, If not provided, TLS is disabled for the instance. + \n - SERVER_AUTHENTICATION: Client to Server traffic encryption + enabled with server authentication Default value: \"DISABLED\" + Possible values: [\"SERVER_AUTHENTICATION\", \"DISABLED\"]" + type: string + required: + - region + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: memorySizeGb is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.memorySizeGb) + status: + description: InstanceStatus defines the observed state of Instance. + properties: + atProvider: + properties: + alternativeLocationId: + description: Only applicable to STANDARD_HA tier which protects + the instance against zonal failures by provisioning it across + two zones. If provided, it must be a different zone from the + one provided in [locationId]. Only applicable to STANDARD_HA + tier which protects the instance against zonal failures by provisioning + it across two zones. If provided, it must be a different zone + from the one provided in [locationId]. + type: string + authEnabled: + description: Optional. Indicates whether OSS Redis AUTH is enabled + for the instance. If set to "true" AUTH is enabled on the instance. + Default value is "false" meaning AUTH is disabled. Optional. + Indicates whether OSS Redis AUTH is enabled for the instance. + If set to "true" AUTH is enabled on the instance. Default value + is "false" meaning AUTH is disabled. + type: boolean + authorizedNetwork: + description: The full name of the Google Compute Engine network + to which the instance is connected. If left unspecified, the + default network will be used. The full name of the Google Compute + Engine network to which the instance is connected. If left unspecified, + the default network will be used. + type: string + connectMode: + description: 'The connection mode of the Redis instance. Default + value is DIRECT_PEERING. Possible values are: DIRECT_PEERING, + PRIVATE_SERVICE_ACCESS. The connection mode of the Redis instance. + Default value: "DIRECT_PEERING" Possible values: ["DIRECT_PEERING", + "PRIVATE_SERVICE_ACCESS"]' + type: string + createTime: + description: The time the instance was created in RFC3339 UTC + "Zulu" format, accurate to nanoseconds. The time the instance + was created in RFC3339 UTC "Zulu" format, accurate to nanoseconds. + type: string + currentLocationId: + description: The current zone where the Redis endpoint is placed. + For Basic Tier instances, this will always be the same as the + [locationId] provided by the user at creation time. For Standard + Tier instances, this can be either [locationId] or [alternativeLocationId] + and can change after a failover event. The current zone where + the Redis endpoint is placed. For Basic Tier instances, this + will always be the same as the [locationId] provided by the + user at creation time. For Standard Tier instances, this can + be either [locationId] or [alternativeLocationId] and can change + after a failover event. + type: string + customerManagedKey: + description: Optional. The KMS key reference that you want to + use to encrypt the data at rest for this Redis instance. If + this is provided, CMEK is enabled. Optional. The KMS key reference + that you want to use to encrypt the data at rest for this Redis + instance. If this is provided, CMEK is enabled. + type: string + displayName: + description: An arbitrary and optional user-provided name for + the instance. An arbitrary and optional user-provided name for + the instance. + type: string + host: + description: Hostname or IP address of the exposed Redis endpoint + used by clients to connect to the service. Hostname or IP address + of the exposed Redis endpoint used by clients to connect to + the service. + type: string + id: + description: an identifier for the resource with format projects/{{project}}/locations/{{region}}/instances/{{name}} + type: string + labels: + additionalProperties: + type: string + description: Resource labels to represent user provided metadata. + Resource labels to represent user provided metadata. + type: object + locationId: + description: The zone where the instance will be provisioned. + If not provided, the service will choose a zone for the instance. + For STANDARD_HA tier, instances will be created across two zones + for protection against zonal failures. If [alternativeLocationId] + is also provided, it must be different from [locationId]. The + zone where the instance will be provisioned. If not provided, + the service will choose a zone for the instance. For STANDARD_HA + tier, instances will be created across two zones for protection + against zonal failures. If [alternativeLocationId] is also provided, + it must be different from [locationId]. + type: string + maintenancePolicy: + description: Maintenance policy for an instance. Structure is + documented below. Maintenance policy for an instance. + items: + properties: + createTime: + description: (Output) Output only. The time when the policy + was created. A timestamp in RFC3339 UTC "Zulu" format, + with nanosecond resolution and up to nine fractional digits. + Output only. The time when the policy was created. A timestamp + in RFC3339 UTC "Zulu" format, with nanosecond resolution + and up to nine fractional digits. + type: string + description: + description: Optional. Description of what this policy is + for. Create/Update methods return INVALID_ARGUMENT if + the length is greater than 512. Optional. Description + of what this policy is for. Create/Update methods return + INVALID_ARGUMENT if the length is greater than 512. + type: string + updateTime: + description: (Output) Output only. The time when the policy + was last updated. A timestamp in RFC3339 UTC "Zulu" format, + with nanosecond resolution and up to nine fractional digits. + Output only. The time when the policy was last updated. + A timestamp in RFC3339 UTC "Zulu" format, with nanosecond + resolution and up to nine fractional digits. + type: string + weeklyMaintenanceWindow: + description: Optional. Maintenance window that is applied + to resources covered by this policy. Minimum 1. For the + current version, the maximum number of weekly_window is + expected to be one. Structure is documented below. Optional. + Maintenance window that is applied to resources covered + by this policy. Minimum 1. For the current version, the + maximum number of weekly_window is expected to be one. + items: + properties: + day: + description: "Required. The day of week that maintenance + updates occur. Required. The day of week that maintenance + updates occur. \n - DAY_OF_WEEK_UNSPECIFIED: The + day of the week is unspecified. - MONDAY: Monday + - TUESDAY: Tuesday - WEDNESDAY: Wednesday - THURSDAY: + Thursday - FRIDAY: Friday - SATURDAY: Saturday - + SUNDAY: Sunday Possible values: [\"DAY_OF_WEEK_UNSPECIFIED\", + \"MONDAY\", \"TUESDAY\", \"WEDNESDAY\", \"THURSDAY\", + \"FRIDAY\", \"SATURDAY\", \"SUNDAY\"]" + type: string + duration: + description: '(Output) Output only. Duration of the + maintenance window. The current window is fixed + at 1 hour. A duration in seconds with up to nine + fractional digits, terminated by ''s''. Example: + "3.5s". Output only. Duration of the maintenance + window. The current window is fixed at 1 hour. A + duration in seconds with up to nine fractional digits, + terminated by ''s''. Example: "3.5s".' + type: string + startTime: + description: Required. Start time of the window in + UTC time. Structure is documented below. Required. + Start time of the window in UTC time. + items: + properties: + hours: + description: Hours of day in 24 hour format. + Should be from 0 to 23. An API may choose + to allow the value "24:00:00" for scenarios + like business closing time. Hours of day in + 24 hour format. Should be from 0 to 23. An + API may choose to allow the value "24:00:00" + for scenarios like business closing time. + type: number + minutes: + description: Minutes of hour of day. Must be + from 0 to 59. Minutes of hour of day. Must + be from 0 to 59. + type: number + nanos: + description: Fractions of seconds in nanoseconds. + Must be from 0 to 999,999,999. Fractions of + seconds in nanoseconds. Must be from 0 to + 999,999,999. + type: number + seconds: + description: Seconds of minutes of the time. + Must normally be from 0 to 59. An API may + allow the value 60 if it allows leap-seconds. + Seconds of minutes of the time. Must normally + be from 0 to 59. An API may allow the value + 60 if it allows leap-seconds. + type: number + type: object + type: array + type: object + type: array + type: object + type: array + maintenanceSchedule: + description: Upcoming maintenance schedule. Structure is documented + below. Upcoming maintenance schedule. + items: + properties: + endTime: + description: (Output) Output only. The end time of any upcoming + scheduled maintenance for this instance. A timestamp in + RFC3339 UTC "Zulu" format, with nanosecond resolution + and up to nine fractional digits. Output only. The end + time of any upcoming scheduled maintenance for this instance. + A timestamp in RFC3339 UTC "Zulu" format, with nanosecond + resolution and up to nine fractional digits. + type: string + scheduleDeadlineTime: + description: (Output) Output only. The deadline that the + maintenance schedule start time can not go beyond, including + reschedule. A timestamp in RFC3339 UTC "Zulu" format, + with nanosecond resolution and up to nine fractional digits. + Output only. The deadline that the maintenance schedule + start time can not go beyond, including reschedule. A + timestamp in RFC3339 UTC "Zulu" format, with nanosecond + resolution and up to nine fractional digits. + type: string + startTime: + description: (Output) Output only. The start time of any + upcoming scheduled maintenance for this instance. A timestamp + in RFC3339 UTC "Zulu" format, with nanosecond resolution + and up to nine fractional digits. Output only. The start + time of any upcoming scheduled maintenance for this instance. + A timestamp in RFC3339 UTC "Zulu" format, with nanosecond + resolution and up to nine fractional digits. + type: string + type: object + type: array + memorySizeGb: + description: Redis memory size in GiB. Redis memory size in GiB. + type: number + nodes: + description: Output only. Info per node. Structure is documented + below. Output only. Info per node. + items: + properties: + id: + description: (Output) Node identifying string. e.g. 'node-0', + 'node-1' + type: string + zone: + description: (Output) Location of the node. + type: string + type: object + type: array + persistenceConfig: + description: Persistence configuration for an instance. Structure + is documented below. Persistence configuration for an instance. + items: + properties: + persistenceMode: + description: "Optional. Controls whether Persistence features + are enabled. If not provided, the existing value will + be used. Optional. Controls whether Persistence features + are enabled. If not provided, the existing value will + be used. \n - DISABLED: \tPersistence is disabled for + the instance, and any existing snapshots are deleted. + - RDB: RDB based Persistence is enabled. Possible values: + [\"DISABLED\", \"RDB\"]" + type: string + rdbNextSnapshotTime: + description: '(Output) Output only. The next time that a + snapshot attempt is scheduled to occur. A timestamp in + RFC3339 UTC "Zulu" format, with nanosecond resolution + and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" + and "2014-10-02T15:01:23.045123456Z". Output only. The + next time that a snapshot attempt is scheduled to occur. + A timestamp in RFC3339 UTC "Zulu" format, with nanosecond + resolution and up to nine fractional digits. Examples: + "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".' + type: string + rdbSnapshotPeriod: + description: "Optional. Available snapshot periods for scheduling. + Optional. Available snapshot periods for scheduling. \n + - ONE_HOUR:\tSnapshot every 1 hour. - SIX_HOURS:\tSnapshot + every 6 hours. - TWELVE_HOURS:\tSnapshot every 12 hours. + - TWENTY_FOUR_HOURS:\tSnapshot every 24 hours. Possible + values: [\"ONE_HOUR\", \"SIX_HOURS\", \"TWELVE_HOURS\", + \"TWENTY_FOUR_HOURS\"]" + type: string + rdbSnapshotStartTime: + description: 'Optional. Date and time that the first snapshot + was/will be attempted, and to which future snapshots will + be aligned. If not provided, the current time will be + used. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond + resolution and up to nine fractional digits. Examples: + "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". + Optional. Date and time that the first snapshot was/will + be attempted, and to which future snapshots will be aligned. + If not provided, the current time will be used. A timestamp + in RFC3339 UTC "Zulu" format, with nanosecond resolution + and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" + and "2014-10-02T15:01:23.045123456Z".' + type: string + type: object + type: array + persistenceIamIdentity: + description: Output only. Cloud IAM identity used by import / + export operations to transfer data to/from Cloud Storage. Format + is "serviceAccount:". The value may change over time for a given + instance so should be checked before each import/export operation. + Output only. Cloud IAM identity used by import / export operations + to transfer data to/from Cloud Storage. Format is "serviceAccount:". + The value may change over time for a given instance so should + be checked before each import/export operation. + type: string + port: + description: The port number of the exposed Redis endpoint. The + port number of the exposed Redis endpoint. + type: number + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + readEndpoint: + description: Output only. Hostname or IP address of the exposed + readonly Redis endpoint. Standard tier only. Targets all healthy + replica nodes in instance. Replication is asynchronous and replica + nodes will exhibit some lag behind the primary. Write requests + must target 'host'. Output only. Hostname or IP address of the + exposed readonly Redis endpoint. Standard tier only. Targets + all healthy replica nodes in instance. Replication is asynchronous + and replica nodes will exhibit some lag behind the primary. + Write requests must target 'host'. + type: string + readEndpointPort: + description: Output only. The port number of the exposed readonly + redis endpoint. Standard tier only. Write requests should target + 'port'. Output only. The port number of the exposed readonly + redis endpoint. Standard tier only. Write requests should target + 'port'. + type: number + readReplicasMode: + description: 'Optional. Read replica mode. Can only be specified + when trying to create the instance. If not set, Memorystore + Redis backend will default to READ_REPLICAS_DISABLED. Optional. + Read replica mode. Can only be specified when trying to create + the instance. If not set, Memorystore Redis backend will default + to READ_REPLICAS_DISABLED. - READ_REPLICAS_DISABLED: If disabled, + read endpoint will not be provided and the instance cannot scale + up or down the number of replicas. - READ_REPLICAS_ENABLED: + If enabled, read endpoint will be provided and the instance + can scale up and down the number of replicas. Possible values: + ["READ_REPLICAS_DISABLED", "READ_REPLICAS_ENABLED"]' + type: string + redisConfigs: + additionalProperties: + type: string + description: 'Redis configuration parameters, according to http://redis.io/topics/config. + Please check Memorystore documentation for the list of supported + parameters: https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs + Redis configuration parameters, according to http://redis.io/topics/config. + Please check Memorystore documentation for the list of supported + parameters: https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Instance.FIELDS.redis_configs' + type: object + redisVersion: + description: The version of Redis software. If not provided, latest + supported version will be used. Please check the API documentation + linked at the top for the latest valid values. The version of + Redis software. If not provided, latest supported version will + be used. Please check the API documentation linked at the top + for the latest valid values. + type: string + region: + description: The name of the Redis region of the instance. The + name of the Redis region of the instance. + type: string + replicaCount: + description: Optional. The number of replica nodes. The valid + range for the Standard Tier with read replicas enabled is [1-5] + and defaults to 2. If read replicas are not enabled for a Standard + Tier instance, the only valid value is 1 and the default is + 1. The valid value for basic tier is 0 and the default is also + 0. Optional. The number of replica nodes. The valid range for + the Standard Tier with read replicas enabled is [1-5] and defaults + to 2. If read replicas are not enabled for a Standard Tier instance, + the only valid value is 1 and the default is 1. The valid value + for basic tier is 0 and the default is also 0. + type: number + reservedIpRange: + description: The CIDR range of internal addresses that are reserved + for this instance. If not provided, the service will choose + an unused /29 block, for example, 10.0.0.0/29 or 192.168.0.0/29. + Ranges must be unique and non-overlapping with existing subnets + in an authorized network. The CIDR range of internal addresses + that are reserved for this instance. If not provided, the service + will choose an unused /29 block, for example, 10.0.0.0/29 or + 192.168.0.0/29. Ranges must be unique and non-overlapping with + existing subnets in an authorized network. + type: string + secondaryIpRange: + description: Optional. Additional IP range for node placement. + Required when enabling read replicas on an existing instance. + For DIRECT_PEERING mode value must be a CIDR range of size /28, + or "auto". For PRIVATE_SERVICE_ACCESS mode value must be the + name of an allocated address range associated with the private + service access connection, or "auto". Optional. Additional IP + range for node placement. Required when enabling read replicas + on an existing instance. For DIRECT_PEERING mode value must + be a CIDR range of size /28, or "auto". For PRIVATE_SERVICE_ACCESS + mode value must be the name of an allocated address range associated + with the private service access connection, or "auto". + type: string + serverCaCerts: + description: List of server CA certificates for the instance. + Structure is documented below. List of server CA certificates + for the instance. + items: + properties: + cert: + description: (Output) The certificate data in PEM format. + type: string + createTime: + description: (Output) The time when the certificate was + created. + type: string + expireTime: + description: (Output) The time when the certificate expires. + type: string + serialNumber: + description: (Output) Serial number, as extracted from the + certificate. + type: string + sha1Fingerprint: + description: (Output) Sha1 Fingerprint of the certificate. + type: string + type: object + type: array + tier: + description: "The service tier of the instance. Must be one of + these values: The service tier of the instance. Must be one + of these values: \n - BASIC: standalone instance - STANDARD_HA: + highly available primary/replica instances Default value: \"BASIC\" + Possible values: [\"BASIC\", \"STANDARD_HA\"]" + type: string + transitEncryptionMode: + description: "The TLS mode of the Redis instance, If not provided, + TLS is disabled for the instance. The TLS mode of the Redis + instance, If not provided, TLS is disabled for the instance. + \n - SERVER_AUTHENTICATION: Client to Server traffic encryption + enabled with server authentication Default value: \"DISABLED\" + Possible values: [\"SERVER_AUTHENTICATION\", \"DISABLED\"]" + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_databaseiammembers.yaml b/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_databaseiammembers.yaml new file mode 100644 index 000000000..119ab0a9d --- /dev/null +++ b/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_databaseiammembers.yaml @@ -0,0 +1,503 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: databaseiammembers.spanner.gcp.kubedb.com +spec: + group: spanner.gcp.kubedb.com + names: + categories: + - crossplane + - managed + - gcp + kind: DatabaseIAMMember + listKind: DatabaseIAMMemberList + plural: databaseiammembers + singular: databaseiammember + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: DatabaseIAMMember is the Schema for the DatabaseIAMMembers API. + + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: DatabaseIAMMemberSpec defines the desired state of DatabaseIAMMember + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + database: + type: string + databaseRef: + description: Reference to a Database to populate database. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + databaseSelector: + description: Selector for a Database to populate database. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + instance: + type: string + instanceRef: + description: Reference to a Instance to populate instance. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + instanceSelector: + description: Selector for a Instance to populate instance. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + member: + type: string + project: + type: string + role: + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: member is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.member) + - message: role is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.role) + status: + description: DatabaseIAMMemberStatus defines the observed state of DatabaseIAMMember. + properties: + atProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + type: object + type: array + database: + type: string + etag: + type: string + id: + type: string + instance: + type: string + member: + type: string + project: + type: string + role: + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_databases.yaml b/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_databases.yaml new file mode 100644 index 000000000..1297eabe8 --- /dev/null +++ b/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_databases.yaml @@ -0,0 +1,430 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: databases.spanner.gcp.kubedb.com +spec: + group: spanner.gcp.kubedb.com + names: + categories: + - crossplane + - managed + - gcp + kind: Database + listKind: DatabaseList + plural: databases + singular: database + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Database is the Schema for the Databases API. A Cloud Spanner + Database which is hosted on a Spanner instance. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: DatabaseSpec defines the desired state of Database + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + databaseDialect: + description: 'The dialect of the Cloud Spanner Database. If it + is not provided, "GOOGLE_STANDARD_SQL" will be used. Possible + values are: GOOGLE_STANDARD_SQL, POSTGRESQL. The dialect of + the Cloud Spanner Database. If it is not provided, "GOOGLE_STANDARD_SQL" + will be used. Possible values: ["GOOGLE_STANDARD_SQL", "POSTGRESQL"]' + type: string + ddl: + description: 'An optional list of DDL statements to run inside + the newly created database. Statements can create tables, indexes, + etc. These statements execute atomically with the creation of + the database: if there is an error in any statement, the database + is not created. An optional list of DDL statements to run inside + the newly created database. Statements can create tables, indexes, + etc. These statements execute atomically with the creation of + the database: if there is an error in any statement, the database + is not created.' + items: + type: string + type: array + deletionProtection: + type: boolean + encryptionConfig: + description: Encryption configuration for the database Structure + is documented below. Encryption configuration for the database + items: + properties: + kmsKeyName: + description: Fully qualified name of the KMS key to use + to encrypt this database. This key must exist in the same + location as the Spanner Database. Fully qualified name + of the KMS key to use to encrypt this database. This key + must exist in the same location as the Spanner Database. + type: string + required: + - kmsKeyName + type: object + type: array + instance: + description: The instance to create the database on. The instance + to create the database on. + type: string + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + versionRetentionPeriod: + description: The retention period for the database. The retention + period must be between 1 hour and 7 days, and can be specified + in days, hours, minutes, or seconds. For example, the values + 1d, 24h, 1440m, and 86400s are equivalent. Default value is + 1h. If this property is used, you must avoid adding new DDL + statements to ddl that update the database's version_retention_period. + The retention period for the database. The retention period + must be between 1 hour and 7 days, and can be specified in days, + hours, minutes, or seconds. For example, the values 1d, 24h, + 1440m, and 86400s are equivalent. Default value is 1h. If this + property is used, you must avoid adding new DDL statements to + 'ddl' that update the database's version_retention_period. + type: string + required: + - instance + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: DatabaseStatus defines the observed state of Database. + properties: + atProvider: + properties: + databaseDialect: + description: 'The dialect of the Cloud Spanner Database. If it + is not provided, "GOOGLE_STANDARD_SQL" will be used. Possible + values are: GOOGLE_STANDARD_SQL, POSTGRESQL. The dialect of + the Cloud Spanner Database. If it is not provided, "GOOGLE_STANDARD_SQL" + will be used. Possible values: ["GOOGLE_STANDARD_SQL", "POSTGRESQL"]' + type: string + ddl: + description: 'An optional list of DDL statements to run inside + the newly created database. Statements can create tables, indexes, + etc. These statements execute atomically with the creation of + the database: if there is an error in any statement, the database + is not created. An optional list of DDL statements to run inside + the newly created database. Statements can create tables, indexes, + etc. These statements execute atomically with the creation of + the database: if there is an error in any statement, the database + is not created.' + items: + type: string + type: array + deletionProtection: + type: boolean + encryptionConfig: + description: Encryption configuration for the database Structure + is documented below. Encryption configuration for the database + items: + properties: + kmsKeyName: + description: Fully qualified name of the KMS key to use + to encrypt this database. This key must exist in the same + location as the Spanner Database. Fully qualified name + of the KMS key to use to encrypt this database. This key + must exist in the same location as the Spanner Database. + type: string + type: object + type: array + id: + description: an identifier for the resource with format {{instance}}/{{name}} + type: string + instance: + description: The instance to create the database on. The instance + to create the database on. + type: string + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + state: + description: An explanation of the status of the database. An + explanation of the status of the database. + type: string + versionRetentionPeriod: + description: The retention period for the database. The retention + period must be between 1 hour and 7 days, and can be specified + in days, hours, minutes, or seconds. For example, the values + 1d, 24h, 1440m, and 86400s are equivalent. Default value is + 1h. If this property is used, you must avoid adding new DDL + statements to ddl that update the database's version_retention_period. + The retention period for the database. The retention period + must be between 1 hour and 7 days, and can be specified in days, + hours, minutes, or seconds. For example, the values 1d, 24h, + 1440m, and 86400s are equivalent. Default value is 1h. If this + property is used, you must avoid adding new DDL statements to + 'ddl' that update the database's version_retention_period. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_instanceiammembers.yaml b/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_instanceiammembers.yaml new file mode 100644 index 000000000..968c55d0b --- /dev/null +++ b/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_instanceiammembers.yaml @@ -0,0 +1,426 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: instanceiammembers.spanner.gcp.kubedb.com +spec: + group: spanner.gcp.kubedb.com + names: + categories: + - crossplane + - managed + - gcp + kind: InstanceIAMMember + listKind: InstanceIAMMemberList + plural: instanceiammembers + singular: instanceiammember + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: InstanceIAMMember is the Schema for the InstanceIAMMembers API. + + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: InstanceIAMMemberSpec defines the desired state of InstanceIAMMember + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + required: + - expression + - title + type: object + type: array + instance: + type: string + instanceRef: + description: Reference to a Instance to populate instance. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + instanceSelector: + description: Selector for a Instance to populate instance. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + member: + type: string + project: + type: string + role: + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: member is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.member) + - message: role is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.role) + status: + description: InstanceIAMMemberStatus defines the observed state of InstanceIAMMember. + properties: + atProvider: + properties: + condition: + items: + properties: + description: + type: string + expression: + type: string + title: + type: string + type: object + type: array + etag: + type: string + id: + type: string + instance: + type: string + member: + type: string + project: + type: string + role: + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_instances.yaml b/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_instances.yaml new file mode 100644 index 000000000..15bb0a4b2 --- /dev/null +++ b/charts/kubedb-provider-gcp/crds/spanner.gcp.kubedb.com_instances.yaml @@ -0,0 +1,415 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: instances.spanner.gcp.kubedb.com +spec: + group: spanner.gcp.kubedb.com + names: + categories: + - crossplane + - managed + - gcp + kind: Instance + listKind: InstanceList + plural: instances + singular: instance + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Instance is the Schema for the Instances API. An isolated set + of Cloud Spanner resources on which databases can be hosted. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: InstanceSpec defines the desired state of Instance + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + config: + description: The name of the instance's configuration (similar + but not quite the same as a region) which defines the geographic + placement and replication of your databases in this instance. + It determines where your data is stored. Values are typically + of the form regional-europe-west1 , us-central etc. In order + to obtain a valid list please consult the Configuration section + of the docs. The name of the instance's configuration (similar + but not quite the same as a region) which defines the geographic + placement and replication of your databases in this instance. + It determines where your data is stored. Values are typically + of the form 'regional-europe-west1' , 'us-central' etc. In order + to obtain a valid list please consult the [Configuration section + of the docs](https://cloud.google.com/spanner/docs/instances). + type: string + displayName: + description: The descriptive name for this instance as it appears + in UIs. Must be unique per project and between 4 and 30 characters + in length. The descriptive name for this instance as it appears + in UIs. Must be unique per project and between 4 and 30 characters + in length. + type: string + forceDestroy: + description: When deleting a spanner instance, this boolean option + will delete all backups of this instance. This must be set to + true if you created a backup manually in the console. When deleting + a spanner instance, this boolean option will delete all backups + of this instance. This must be set to true if you created a + backup manually in the console. + type: boolean + labels: + additionalProperties: + type: string + description: 'An object containing a list of "key": value pairs. + Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. + An object containing a list of "key": value pairs. Example: + { "name": "wrench", "mass": "1.3kg", "count": "3" }.' + type: object + numNodes: + description: The number of nodes allocated to this instance. The + number of nodes allocated to this instance. + type: number + processingUnits: + description: The number of processing units allocated to this + instance. The number of processing units allocated to this instance. + type: number + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: config is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.config) + - message: displayName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.displayName) + status: + description: InstanceStatus defines the observed state of Instance. + properties: + atProvider: + properties: + config: + description: The name of the instance's configuration (similar + but not quite the same as a region) which defines the geographic + placement and replication of your databases in this instance. + It determines where your data is stored. Values are typically + of the form regional-europe-west1 , us-central etc. In order + to obtain a valid list please consult the Configuration section + of the docs. The name of the instance's configuration (similar + but not quite the same as a region) which defines the geographic + placement and replication of your databases in this instance. + It determines where your data is stored. Values are typically + of the form 'regional-europe-west1' , 'us-central' etc. In order + to obtain a valid list please consult the [Configuration section + of the docs](https://cloud.google.com/spanner/docs/instances). + type: string + displayName: + description: The descriptive name for this instance as it appears + in UIs. Must be unique per project and between 4 and 30 characters + in length. The descriptive name for this instance as it appears + in UIs. Must be unique per project and between 4 and 30 characters + in length. + type: string + forceDestroy: + description: When deleting a spanner instance, this boolean option + will delete all backups of this instance. This must be set to + true if you created a backup manually in the console. When deleting + a spanner instance, this boolean option will delete all backups + of this instance. This must be set to true if you created a + backup manually in the console. + type: boolean + id: + description: an identifier for the resource with format {{project}}/{{name}} + type: string + labels: + additionalProperties: + type: string + description: 'An object containing a list of "key": value pairs. + Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. + An object containing a list of "key": value pairs. Example: + { "name": "wrench", "mass": "1.3kg", "count": "3" }.' + type: object + numNodes: + description: The number of nodes allocated to this instance. The + number of nodes allocated to this instance. + type: number + processingUnits: + description: The number of processing units allocated to this + instance. The number of processing units allocated to this instance. + type: number + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + state: + description: 'Instance status: CREATING or READY. Instance status: + ''CREATING'' or ''READY''.' + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_databaseinstances.yaml b/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_databaseinstances.yaml new file mode 100644 index 000000000..5c2b169c8 --- /dev/null +++ b/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_databaseinstances.yaml @@ -0,0 +1,1699 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: databaseinstances.sql.gcp.kubedb.com +spec: + group: sql.gcp.kubedb.com + names: + categories: + - crossplane + - managed + - gcp + kind: DatabaseInstance + listKind: DatabaseInstanceList + plural: databaseinstances + singular: databaseinstance + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: DatabaseInstance is the Schema for the DatabaseInstances API. + Creates a new SQL database instance in Google Cloud SQL. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: DatabaseInstanceSpec defines the desired state of DatabaseInstance + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + clone: + description: The context needed to create this instance as a clone + of another instance. The configuration is detailed below. Configuration + for creating a new instance as a clone of another instance. + items: + properties: + allocatedIpRange: + description: 'The name of the allocated ip range for the + private ip CloudSQL instance. For example: "google-managed-services-default". + If set, the cloned instance ip will be created in the + allocated range. The range name must comply with RFC 1035. + Specifically, the name must be 1-63 characters long and + match the regular expression a-z?. The name of the allocated + ip range for the private ip CloudSQL instance. For example: + "google-managed-services-default". If set, the cloned + instance ip will be created in the allocated range. The + range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035). + Specifically, the name must be 1-63 characters long and + match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?.' + type: string + databaseNames: + description: (SQL Server only, use with point_in_time) Clone + only the specified databases from the source instance. + Clone all databases if empty. (SQL Server only, use with + point_in_time) clone only the specified databases from + the source instance. Clone all databases if empty. + items: + type: string + type: array + pointInTime: + description: The timestamp of the point in time that should + be restored. The timestamp of the point in time that should + be restored. + type: string + sourceInstanceName: + description: Name of the source instance which will be cloned. + The name of the instance from which the point in time + should be restored. + type: string + required: + - sourceInstanceName + type: object + type: array + databaseVersion: + description: The MySQL, PostgreSQL or SQL Server version to use. + Supported values include MYSQL_5_6, MYSQL_5_7, MYSQL_8_0, POSTGRES_9_6,POSTGRES_10, + POSTGRES_11, POSTGRES_12, POSTGRES_13, POSTGRES_14, SQLSERVER_2017_STANDARD, + SQLSERVER_2017_ENTERPRISE, SQLSERVER_2017_EXPRESS, SQLSERVER_2017_WEB. + SQLSERVER_2019_STANDARD, SQLSERVER_2019_ENTERPRISE, SQLSERVER_2019_EXPRESS, + SQLSERVER_2019_WEB. Database Version Policies includes an up-to-date + reference of supported versions. The MySQL, PostgreSQL or SQL + Server (beta) version to use. Supported values include MYSQL_5_6, + MYSQL_5_7, MYSQL_8_0, POSTGRES_9_6, POSTGRES_10, POSTGRES_11, + POSTGRES_12, POSTGRES_13, POSTGRES_14, SQLSERVER_2017_STANDARD, + SQLSERVER_2017_ENTERPRISE, SQLSERVER_2017_EXPRESS, SQLSERVER_2017_WEB. + Database Version Policies includes an up-to-date reference of + supported versions. + type: string + deletionProtection: + description: Defaults to true. Defaults to true. + type: boolean + encryptionKeyName: + description: The full path to the encryption key used for the + CMEK disk encryption. The provided key must be in the same region + as the SQL instance. In order to use this feature, a special + kind of service account must be created and granted permission + on this key. This step can currently only be done manually, + please see this step. That service account needs the Cloud KMS + > Cloud KMS CryptoKey Encrypter/Decrypter role on your key - + please see this step. + type: string + maintenanceVersion: + description: The current software version on the instance. This + attribute can not be set during creation. Refer to available_maintenance_versions + attribute to see what maintenance_version are available for + upgrade. When this attribute gets updated, it will cause an + instance restart. Setting a maintenance_version value that is + older than the current one on the instance will be ignored. + Maintenance version. + type: string + masterInstanceName: + description: The name of the existing instance that will act as + the master in the replication setup. Note, this requires the + master to have binary_log_enabled set, as well as existing backups. + The name of the instance that will act as the master in the + replication setup. Note, this requires the master to have binary_log_enabled + set, as well as existing backups. + type: string + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. The ID + of the project in which the resource belongs. If it is not provided, + the provider project is used. + type: string + region: + description: The region the instance will sit in. If a region + is not provided in the resource definition, the provider region + will be used instead. The region the instance will sit in. Note, + Cloud SQL is not available in all regions. A valid region must + be provided to use this resource. If a region is not provided + in the resource definition, the provider region will be used + instead, but this will be an apply-time error for instances + if the provider region is not supported with Cloud SQL. If you + choose not to provide the region argument for this resource, + make sure you understand this. + type: string + replicaConfiguration: + description: The configuration for replication. The configuration + is detailed below. Valid only for MySQL instances. The configuration + for replication. + items: + properties: + caCertificate: + description: PEM representation of the trusted CA's x509 + certificate. PEM representation of the trusted CA's x509 + certificate. + type: string + clientCertificate: + description: PEM representation of the replica's x509 certificate. + PEM representation of the replica's x509 certificate. + type: string + clientKey: + description: PEM representation of the replica's private + key. The corresponding public key in encoded in the client_certificate. + PEM representation of the replica's private key. The corresponding + public key in encoded in the client_certificate. + type: string + connectRetryInterval: + description: The number of seconds between connect retries. + MySQL's default is 60 seconds. The number of seconds between + connect retries. MySQL's default is 60 seconds. + type: number + dumpFilePath: + description: Path to a SQL file in GCS from which replica + instances are created. Format is gs://bucket/filename. + Path to a SQL file in Google Cloud Storage from which + replica instances are created. Format is gs://bucket/filename. + type: string + failoverTarget: + description: Specifies if the replica is the failover target. + If the field is set to true the replica will be designated + as a failover replica. If the master instance fails, the + replica instance will be promoted as the new master instance. + Specifies if the replica is the failover target. If the + field is set to true the replica will be designated as + a failover replica. If the master instance fails, the + replica instance will be promoted as the new master instance. + type: boolean + masterHeartbeatPeriod: + description: Time in ms between replication heartbeats. + Time in ms between replication heartbeats. + type: number + passwordSecretRef: + description: Password for the replication connection. Password + for the replication connection. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + sslCipher: + description: Permissible ciphers for use in SSL encryption. + type: string + username: + description: Username for replication connection. Username + for replication connection. + type: string + verifyServerCertificate: + description: True if the master's common name value is checked + during the SSL handshake. True if the master's common + name value is checked during the SSL handshake. + type: boolean + type: object + type: array + restoreBackupContext: + description: The context needed to restore the database to a backup + run. The configuration is detailed below. Adding or modifying + this block during resource creation/update will trigger the + restore action after the resource is created/updated. + items: + properties: + backupRunId: + description: The ID of the backup run to restore from. The + ID of the backup run to restore from. + type: number + instanceId: + description: The ID of the instance that the backup was + taken from. If left empty, this instance's ID will be + used. The ID of the instance that the backup was taken + from. + type: string + project: + description: The full project ID of the source instance.` + The full project ID of the source instance. + type: string + required: + - backupRunId + type: object + type: array + rootPasswordSecretRef: + description: Initial root password. Can be updated. Required for + MS SQL Server. Initial root password. Required for MS SQL Server. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + settings: + description: The settings to use for the database. The configuration + is detailed below. Required if clone is not set. The settings + to use for the database. The configuration is detailed below. + items: + properties: + activationPolicy: + description: This specifies when the instance should be + active. Can be either ALWAYS, NEVER or ON_DEMAND. This + specifies when the instance should be active. Can be either + ALWAYS, NEVER or ON_DEMAND. + type: string + activeDirectoryConfig: + items: + properties: + domain: + description: The domain name for the active directory + (e.g., mydomain.com). Can only be used with SQL + Server. Domain name of the Active Directory for + SQL Server (e.g., mydomain.com). + type: string + required: + - domain + type: object + type: array + advancedMachineFeatures: + items: + properties: + threadsPerCore: + description: The number of threads per core. The value + of this flag can be 1 or 2. To disable SMT, set + this flag to 1. Only available in Cloud SQL for + SQL Server instances. See smt for more details. + The number of threads per physical core. Can be + 1 or 2. + type: number + type: object + type: array + availabilityType: + description: The availability type of the Cloud SQL instance, + high availability (REGIONAL) or single zone (ZONAL).' + For all instances, ensure that settings.backup_configuration.enabled + is set to true. For MySQL instances, ensure that settings.backup_configuration.binary_log_enabled + is set to true. For Postgres and SQL Server instances, + ensure that settings.backup_configuration.point_in_time_recovery_enabled + is set to true. Defaults to ZONAL. The availability type + of the Cloud SQL instance, high availability (REGIONAL) + or single zone (ZONAL). For all instances, ensure that + settings.backup_configuration.enabled is set to true. + For MySQL instances, ensure that settings.backup_configuration.binary_log_enabled + is set to true. For Postgres instances, ensure that settings.backup_configuration.point_in_time_recovery_enabled + is set to true. Defaults to ZONAL. + type: string + backupConfiguration: + items: + properties: + backupRetentionSettings: + description: Backup retention settings. The configuration + is detailed below. + items: + properties: + retainedBackups: + description: Depending on the value of retention_unit, + this is used to determine if a backup needs + to be deleted. If retention_unit is 'COUNT', + we will retain this many backups. Number of + backups to retain. + type: number + retentionUnit: + description: The unit that 'retained_backups' + represents. Defaults to COUNT. The unit that + 'retainedBackups' represents. Defaults to + COUNT + type: string + required: + - retainedBackups + type: object + type: array + binaryLogEnabled: + description: True if binary logging is enabled. Can + only be used with MySQL. True if binary logging + is enabled. If settings.backup_configuration.enabled + is false, this must be as well. Can only be used + with MySQL. + type: boolean + enabled: + description: True if backup configuration is enabled. + True if backup configuration is enabled. + type: boolean + location: + description: The region where the backup will be stored + Location of the backup configuration. + type: string + pointInTimeRecoveryEnabled: + description: True if Point-in-time recovery is enabled. + Will restart database if enabled after instance + creation. Valid only for PostgreSQL and SQL Server + instances. True if Point-in-time recovery is enabled. + type: boolean + startTime: + description: HH:MM format time indicating when backup + configuration starts. HH:MM format time indicating + when backup configuration starts. + type: string + transactionLogRetentionDays: + description: The number of days of transaction logs + we retain for point in time restore, from 1-7. The + number of days of transaction logs we retain for + point in time restore, from 1-7. + type: number + type: object + type: array + collation: + description: The name of server instance collation. The + name of server instance collation. + type: string + connectorEnforcement: + description: Specifies if connections must use Cloud SQL + connectors. Specifies if connections must use Cloud SQL + connectors. + type: string + databaseFlags: + items: + properties: + name: + description: A name for this whitelist entry. Name + of the flag. + type: string + value: + description: A CIDR notation IPv4 or IPv6 address + that is allowed to access this instance. Must be + set even if other two attributes are not for the + whitelist to become active. Value of the flag. + type: string + required: + - name + - value + type: object + type: array + deletionProtectionEnabled: + description: . Configuration to protect against accidental + instance deletion. + type: boolean + denyMaintenancePeriod: + items: + properties: + endDate: + description: '"deny maintenance period" end date. + If the year of the end date is empty, the year of + the start date also must be empty. In this case, + it means the no maintenance interval recurs every + year. The date is in format yyyy-mm-dd i.e., 2020-11-01, + or mm-dd, i.e., 11-01 End date before which maintenance + will not take place. The date is in format yyyy-mm-dd + i.e., 2020-11-01, or mm-dd, i.e., 11-01' + type: string + startDate: + description: '"deny maintenance period" start date. + If the year of the start date is empty, the year + of the end date also must be empty. In this case, + it means the deny maintenance period recurs every + year. The date is in format yyyy-mm-dd i.e., 2020-11-01, + or mm-dd, i.e., 11-01 Start date after which maintenance + will not take place. The date is in format yyyy-mm-dd + i.e., 2020-11-01, or mm-dd, i.e., 11-01' + type: string + time: + description: 'Time in UTC when the "deny maintenance + period" starts on startDate and ends on endDate. + The time is in format: HH:mm:SS, i.e., 00:00:00 + Time in UTC when the "deny maintenance period" starts + on start_date and ends on end_date. The time is + in format: HH:mm:SS, i.e., 00:00:00' + type: string + required: + - endDate + - startDate + - time + type: object + type: array + diskAutoresize: + description: Enables auto-resizing of the storage size. + Defaults to true. Enables auto-resizing of the storage + size. Defaults to true. + type: boolean + diskAutoresizeLimit: + description: The maximum size to which storage capacity + can be automatically increased. The default value is 0, + which specifies that there is no limit. The maximum size, + in GB, to which storage capacity can be automatically + increased. The default value is 0, which specifies that + there is no limit. + type: number + diskSize: + description: The size of data disk, in GB. Size of a running + instance cannot be reduced but can be increased. The minimum + value is 10GB. The size of data disk, in GB. Size of a + running instance cannot be reduced but can be increased. + The minimum value is 10GB. + type: number + diskType: + description: 'The type of data disk: PD_SSD or PD_HDD. Defaults + to PD_SSD. The type of data disk: PD_SSD or PD_HDD. Defaults + to PD_SSD.' + type: string + insightsConfig: + description: Configuration of Query Insights. + items: + properties: + queryInsightsEnabled: + description: True if Query Insights feature is enabled. + True if Query Insights feature is enabled. + type: boolean + queryPlansPerMinute: + description: Number of query execution plans captured + by Insights per minute for all queries combined. + Between 0 and 20. Default to 5. Number of query + execution plans captured by Insights per minute + for all queries combined. Between 0 and 20. Default + to 5. + type: number + queryStringLength: + description: Maximum query length stored in bytes. + Between 256 and 4500. Default to 1024. Higher query + lengths are more useful for analytical queries, + but they also require more memory. Changing the + query length requires you to restart the instance. + You can still add tags to queries that exceed the + length limit. Maximum query length stored in bytes. + Between 256 and 4500. Default to 1024. + type: number + recordApplicationTags: + description: True if Query Insights will record application + tags from query when enabled. True if Query Insights + will record application tags from query when enabled. + type: boolean + recordClientAddress: + description: True if Query Insights will record client + address when enabled. True if Query Insights will + record client address when enabled. + type: boolean + type: object + type: array + ipConfiguration: + items: + properties: + allocatedIpRange: + description: 'The name of the allocated ip range for + the private ip CloudSQL instance. For example: "google-managed-services-default". + If set, the instance ip will be created in the allocated + range. The range name must comply with RFC 1035. + Specifically, the name must be 1-63 characters long + and match the regular expression a-z?. The name + of the allocated ip range for the private ip CloudSQL + instance. For example: "google-managed-services-default". + If set, the instance ip will be created in the allocated + range. The range name must comply with RFC 1035. + Specifically, the name must be 1-63 characters long + and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?.' + type: string + authorizedNetworks: + items: + properties: + expirationTime: + description: The RFC 3339 formatted date time + string indicating when this whitelist expires. + type: string + name: + description: A name for this whitelist entry. + type: string + value: + description: A CIDR notation IPv4 or IPv6 address + that is allowed to access this instance. Must + be set even if other two attributes are not + for the whitelist to become active. + type: string + required: + - value + type: object + type: array + enablePrivatePathForGoogleCloudServices: + description: Whether Google Cloud services such as + BigQuery are allowed to access data in this Cloud + SQL instance over a private IP connection. SQLSERVER + database type is not supported. Whether Google Cloud + services such as BigQuery are allowed to access + data in this Cloud SQL instance over a private IP + connection. SQLSERVER database type is not supported. + type: boolean + ipv4Enabled: + description: Whether this Cloud SQL instance should + be assigned a public IPV4 address. At least ipv4_enabled + must be enabled or a private_network must be configured. + Whether this Cloud SQL instance should be assigned + a public IPV4 address. At least ipv4_enabled must + be enabled or a private_network must be configured. + type: boolean + privateNetwork: + description: The VPC network from which the Cloud + SQL instance is accessible for private IP. For example, projects/myProject/global/networks/default. + Specifying a network enables private IP. At least + ipv4_enabled must be enabled or a private_network + must be configured. This setting can be updated, + but it cannot be removed after it is set. The VPC + network from which the Cloud SQL instance is accessible + for private IP. For example, projects/myProject/global/networks/default. + Specifying a network enables private IP. At least + ipv4_enabled must be enabled or a private_network + must be configured. This setting can be updated, + but it cannot be removed after it is set. + type: string + requireSsl: + description: Whether SSL connections over IP are enforced + or not. + type: boolean + type: object + type: array + locationPreference: + items: + properties: + followGaeApplication: + description: A GAE application whose zone to remain + in. Must be in the same region as this instance. + A Google App Engine application whose zone to remain + in. Must be in the same region as this instance. + type: string + secondaryZone: + description: The preferred Compute Engine zone for + the secondary/failover. The preferred Compute Engine + zone for the secondary/failover + type: string + zone: + description: The preferred compute engine zone. The + preferred compute engine zone. + type: string + type: object + type: array + maintenanceWindow: + description: Declares a one-hour maintenance window when + an Instance can automatically restart to apply updates. + The maintenance window is specified in UTC time. + items: + properties: + day: + description: Day of week (1-7), starting on Monday + Day of week (1-7), starting on Monday + type: number + hour: + description: Hour of day (0-23), ignored if day not + set Hour of day (0-23), ignored if day not set + type: number + updateTrack: + description: Receive updates earlier (canary) or later + (stable) Receive updates earlier (canary) or later + (stable) + type: string + type: object + type: array + passwordValidationPolicy: + items: + properties: + complexity: + description: Checks if the password is a combination + of lowercase, uppercase, numeric, and non-alphanumeric + characters. Password complexity. + type: string + disallowUsernameSubstring: + description: Prevents the use of the username in the + password. Disallow username as a part of the password. + type: boolean + enablePasswordPolicy: + description: Enables or disable the password validation + policy. Whether the password policy is enabled or + not. + type: boolean + minLength: + description: Specifies the minimum number of characters + that the password must have. Minimum number of characters + allowed. + type: number + passwordChangeInterval: + description: Specifies the minimum duration after + which you can change the password. Minimum interval + after which the password can be changed. This flag + is only supported for PostgresSQL. + type: string + reuseInterval: + description: Specifies the number of previous passwords + that you can't reuse. Number of previous passwords + that cannot be reused. + type: number + required: + - enablePasswordPolicy + type: object + type: array + pricingPlan: + description: Pricing plan for this instance, can only be + PER_USE. Pricing plan for this instance, can only be PER_USE. + type: string + sqlServerAuditConfig: + items: + properties: + bucket: + description: The name of the destination bucket (e.g., + gs://mybucket). The name of the destination bucket + (e.g., gs://mybucket). + type: string + retentionInterval: + description: 'How long to keep generated audit files. + A duration in seconds with up to nine fractional + digits, terminated by ''s''. Example: "3.5s". How + long to keep generated audit files. A duration in + seconds with up to nine fractional digits, terminated + by ''s''. Example: "3.5s"..' + type: string + uploadInterval: + description: 'How often to upload generated audit + files. A duration in seconds with up to nine fractional + digits, terminated by ''s''. Example: "3.5s". How + often to upload generated audit files. A duration + in seconds with up to nine fractional digits, terminated + by ''s''. Example: "3.5s".' + type: string + type: object + type: array + tier: + description: The machine type to use. See tiers for more + details and supported versions. Postgres supports only + shared-core machine types, and custom machine types such + as db-custom-2-13312. See the Custom Machine Type Documentation + to learn about specifying custom machine types. The machine + type to use. See tiers for more details and supported + versions. Postgres supports only shared-core machine types, + and custom machine types such as db-custom-2-13312. See + the Custom Machine Type Documentation to learn about specifying + custom machine types. + type: string + timeZone: + description: The time_zone to be used by the database engine + (supported only for SQL Server), in SQL Server timezone + format. The time_zone to be used by the database engine + (supported only for SQL Server), in SQL Server timezone + format. + type: string + userLabels: + additionalProperties: + type: string + description: A set of key/value user label pairs to assign + to the instance. A set of key/value user label pairs to + assign to the instance. + type: object + required: + - tier + type: object + type: array + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: databaseVersion is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.databaseVersion) + status: + description: DatabaseInstanceStatus defines the observed state of DatabaseInstance. + properties: + atProvider: + properties: + availableMaintenanceVersions: + description: The list of all maintenance versions applicable on + the instance. Available Maintenance versions. + items: + type: string + type: array + clone: + description: The context needed to create this instance as a clone + of another instance. The configuration is detailed below. Configuration + for creating a new instance as a clone of another instance. + items: + properties: + allocatedIpRange: + description: 'The name of the allocated ip range for the + private ip CloudSQL instance. For example: "google-managed-services-default". + If set, the cloned instance ip will be created in the + allocated range. The range name must comply with RFC 1035. + Specifically, the name must be 1-63 characters long and + match the regular expression a-z?. The name of the allocated + ip range for the private ip CloudSQL instance. For example: + "google-managed-services-default". If set, the cloned + instance ip will be created in the allocated range. The + range name must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035). + Specifically, the name must be 1-63 characters long and + match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?.' + type: string + databaseNames: + description: (SQL Server only, use with point_in_time) Clone + only the specified databases from the source instance. + Clone all databases if empty. (SQL Server only, use with + point_in_time) clone only the specified databases from + the source instance. Clone all databases if empty. + items: + type: string + type: array + pointInTime: + description: The timestamp of the point in time that should + be restored. The timestamp of the point in time that should + be restored. + type: string + sourceInstanceName: + description: Name of the source instance which will be cloned. + The name of the instance from which the point in time + should be restored. + type: string + type: object + type: array + connectionName: + description: The connection name of the instance to be used in + connection strings. For example, when connecting with Cloud + SQL Proxy. The connection name of the instance to be used in + connection strings. For example, when connecting with Cloud + SQL Proxy. + type: string + databaseVersion: + description: The MySQL, PostgreSQL or SQL Server version to use. + Supported values include MYSQL_5_6, MYSQL_5_7, MYSQL_8_0, POSTGRES_9_6,POSTGRES_10, + POSTGRES_11, POSTGRES_12, POSTGRES_13, POSTGRES_14, SQLSERVER_2017_STANDARD, + SQLSERVER_2017_ENTERPRISE, SQLSERVER_2017_EXPRESS, SQLSERVER_2017_WEB. + SQLSERVER_2019_STANDARD, SQLSERVER_2019_ENTERPRISE, SQLSERVER_2019_EXPRESS, + SQLSERVER_2019_WEB. Database Version Policies includes an up-to-date + reference of supported versions. The MySQL, PostgreSQL or SQL + Server (beta) version to use. Supported values include MYSQL_5_6, + MYSQL_5_7, MYSQL_8_0, POSTGRES_9_6, POSTGRES_10, POSTGRES_11, + POSTGRES_12, POSTGRES_13, POSTGRES_14, SQLSERVER_2017_STANDARD, + SQLSERVER_2017_ENTERPRISE, SQLSERVER_2017_EXPRESS, SQLSERVER_2017_WEB. + Database Version Policies includes an up-to-date reference of + supported versions. + type: string + deletionProtection: + description: Defaults to true. Defaults to true. + type: boolean + encryptionKeyName: + description: The full path to the encryption key used for the + CMEK disk encryption. The provided key must be in the same region + as the SQL instance. In order to use this feature, a special + kind of service account must be created and granted permission + on this key. This step can currently only be done manually, + please see this step. That service account needs the Cloud KMS + > Cloud KMS CryptoKey Encrypter/Decrypter role on your key - + please see this step. + type: string + firstIpAddress: + description: The first IPv4 address of any type assigned. The + first IPv4 address of any type assigned. + type: string + id: + type: string + instanceType: + description: The type of the instance. The supported values are + SQL_INSTANCE_TYPE_UNSPECIFIED, CLOUD_SQL_INSTANCE, ON_PREMISES_INSTANCE + and READ_REPLICA_INSTANCE. The type of the instance. The valid + values are:- 'SQL_INSTANCE_TYPE_UNSPECIFIED', 'CLOUD_SQL_INSTANCE', + 'ON_PREMISES_INSTANCE' and 'READ_REPLICA_INSTANCE'. + type: string + ipAddress: + description: The IPv4 address assigned. + items: + properties: + ipAddress: + description: The IPv4 address assigned. + type: string + timeToRetire: + description: The time this IP address will be retired, in + RFC 3339 format. + type: string + type: + description: The type of this IP address. + type: string + type: object + type: array + maintenanceVersion: + description: The current software version on the instance. This + attribute can not be set during creation. Refer to available_maintenance_versions + attribute to see what maintenance_version are available for + upgrade. When this attribute gets updated, it will cause an + instance restart. Setting a maintenance_version value that is + older than the current one on the instance will be ignored. + Maintenance version. + type: string + masterInstanceName: + description: The name of the existing instance that will act as + the master in the replication setup. Note, this requires the + master to have binary_log_enabled set, as well as existing backups. + The name of the instance that will act as the master in the + replication setup. Note, this requires the master to have binary_log_enabled + set, as well as existing backups. + type: string + privateIpAddress: + description: The first private (PRIVATE) IPv4 address assigned. + IPv4 address assigned. + type: string + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. The ID + of the project in which the resource belongs. If it is not provided, + the provider project is used. + type: string + publicIpAddress: + description: The first public (PRIMARY) IPv4 address assigned. + IPv4 address assigned. + type: string + region: + description: The region the instance will sit in. If a region + is not provided in the resource definition, the provider region + will be used instead. The region the instance will sit in. Note, + Cloud SQL is not available in all regions. A valid region must + be provided to use this resource. If a region is not provided + in the resource definition, the provider region will be used + instead, but this will be an apply-time error for instances + if the provider region is not supported with Cloud SQL. If you + choose not to provide the region argument for this resource, + make sure you understand this. + type: string + replicaConfiguration: + description: The configuration for replication. The configuration + is detailed below. Valid only for MySQL instances. The configuration + for replication. + items: + properties: + caCertificate: + description: PEM representation of the trusted CA's x509 + certificate. PEM representation of the trusted CA's x509 + certificate. + type: string + clientCertificate: + description: PEM representation of the replica's x509 certificate. + PEM representation of the replica's x509 certificate. + type: string + clientKey: + description: PEM representation of the replica's private + key. The corresponding public key in encoded in the client_certificate. + PEM representation of the replica's private key. The corresponding + public key in encoded in the client_certificate. + type: string + connectRetryInterval: + description: The number of seconds between connect retries. + MySQL's default is 60 seconds. The number of seconds between + connect retries. MySQL's default is 60 seconds. + type: number + dumpFilePath: + description: Path to a SQL file in GCS from which replica + instances are created. Format is gs://bucket/filename. + Path to a SQL file in Google Cloud Storage from which + replica instances are created. Format is gs://bucket/filename. + type: string + failoverTarget: + description: Specifies if the replica is the failover target. + If the field is set to true the replica will be designated + as a failover replica. If the master instance fails, the + replica instance will be promoted as the new master instance. + Specifies if the replica is the failover target. If the + field is set to true the replica will be designated as + a failover replica. If the master instance fails, the + replica instance will be promoted as the new master instance. + type: boolean + masterHeartbeatPeriod: + description: Time in ms between replication heartbeats. + Time in ms between replication heartbeats. + type: number + sslCipher: + description: Permissible ciphers for use in SSL encryption. + type: string + username: + description: Username for replication connection. Username + for replication connection. + type: string + verifyServerCertificate: + description: True if the master's common name value is checked + during the SSL handshake. True if the master's common + name value is checked during the SSL handshake. + type: boolean + type: object + type: array + restoreBackupContext: + description: The context needed to restore the database to a backup + run. The configuration is detailed below. Adding or modifying + this block during resource creation/update will trigger the + restore action after the resource is created/updated. + items: + properties: + backupRunId: + description: The ID of the backup run to restore from. The + ID of the backup run to restore from. + type: number + instanceId: + description: The ID of the instance that the backup was + taken from. If left empty, this instance's ID will be + used. The ID of the instance that the backup was taken + from. + type: string + project: + description: The full project ID of the source instance.` + The full project ID of the source instance. + type: string + type: object + type: array + selfLink: + description: The URI of the created resource. The URI of the created + resource. + type: string + serverCaCert: + items: + properties: + cert: + description: The CA Certificate used to connect to the SQL + Instance via SSL. + type: string + commonName: + description: The CN valid for the CA Cert. + type: string + createTime: + description: Creation time of the CA Cert. + type: string + expirationTime: + description: The RFC 3339 formatted date time string indicating + when this whitelist expires. + type: string + sha1Fingerprint: + description: SHA Fingerprint of the CA Cert. + type: string + type: object + type: array + serviceAccountEmailAddress: + description: The service account email address assigned to the + instance. The service account email address assigned to the + instance. + type: string + settings: + description: The settings to use for the database. The configuration + is detailed below. Required if clone is not set. The settings + to use for the database. The configuration is detailed below. + items: + properties: + activationPolicy: + description: This specifies when the instance should be + active. Can be either ALWAYS, NEVER or ON_DEMAND. This + specifies when the instance should be active. Can be either + ALWAYS, NEVER or ON_DEMAND. + type: string + activeDirectoryConfig: + items: + properties: + domain: + description: The domain name for the active directory + (e.g., mydomain.com). Can only be used with SQL + Server. Domain name of the Active Directory for + SQL Server (e.g., mydomain.com). + type: string + type: object + type: array + advancedMachineFeatures: + items: + properties: + threadsPerCore: + description: The number of threads per core. The value + of this flag can be 1 or 2. To disable SMT, set + this flag to 1. Only available in Cloud SQL for + SQL Server instances. See smt for more details. + The number of threads per physical core. Can be + 1 or 2. + type: number + type: object + type: array + availabilityType: + description: The availability type of the Cloud SQL instance, + high availability (REGIONAL) or single zone (ZONAL).' + For all instances, ensure that settings.backup_configuration.enabled + is set to true. For MySQL instances, ensure that settings.backup_configuration.binary_log_enabled + is set to true. For Postgres and SQL Server instances, + ensure that settings.backup_configuration.point_in_time_recovery_enabled + is set to true. Defaults to ZONAL. The availability type + of the Cloud SQL instance, high availability (REGIONAL) + or single zone (ZONAL). For all instances, ensure that + settings.backup_configuration.enabled is set to true. + For MySQL instances, ensure that settings.backup_configuration.binary_log_enabled + is set to true. For Postgres instances, ensure that settings.backup_configuration.point_in_time_recovery_enabled + is set to true. Defaults to ZONAL. + type: string + backupConfiguration: + items: + properties: + backupRetentionSettings: + description: Backup retention settings. The configuration + is detailed below. + items: + properties: + retainedBackups: + description: Depending on the value of retention_unit, + this is used to determine if a backup needs + to be deleted. If retention_unit is 'COUNT', + we will retain this many backups. Number of + backups to retain. + type: number + retentionUnit: + description: The unit that 'retained_backups' + represents. Defaults to COUNT. The unit that + 'retainedBackups' represents. Defaults to + COUNT + type: string + type: object + type: array + binaryLogEnabled: + description: True if binary logging is enabled. Can + only be used with MySQL. True if binary logging + is enabled. If settings.backup_configuration.enabled + is false, this must be as well. Can only be used + with MySQL. + type: boolean + enabled: + description: True if backup configuration is enabled. + True if backup configuration is enabled. + type: boolean + location: + description: The region where the backup will be stored + Location of the backup configuration. + type: string + pointInTimeRecoveryEnabled: + description: True if Point-in-time recovery is enabled. + Will restart database if enabled after instance + creation. Valid only for PostgreSQL and SQL Server + instances. True if Point-in-time recovery is enabled. + type: boolean + startTime: + description: HH:MM format time indicating when backup + configuration starts. HH:MM format time indicating + when backup configuration starts. + type: string + transactionLogRetentionDays: + description: The number of days of transaction logs + we retain for point in time restore, from 1-7. The + number of days of transaction logs we retain for + point in time restore, from 1-7. + type: number + type: object + type: array + collation: + description: The name of server instance collation. The + name of server instance collation. + type: string + connectorEnforcement: + description: Specifies if connections must use Cloud SQL + connectors. Specifies if connections must use Cloud SQL + connectors. + type: string + databaseFlags: + items: + properties: + name: + description: A name for this whitelist entry. Name + of the flag. + type: string + value: + description: A CIDR notation IPv4 or IPv6 address + that is allowed to access this instance. Must be + set even if other two attributes are not for the + whitelist to become active. Value of the flag. + type: string + type: object + type: array + deletionProtectionEnabled: + description: . Configuration to protect against accidental + instance deletion. + type: boolean + denyMaintenancePeriod: + items: + properties: + endDate: + description: '"deny maintenance period" end date. + If the year of the end date is empty, the year of + the start date also must be empty. In this case, + it means the no maintenance interval recurs every + year. The date is in format yyyy-mm-dd i.e., 2020-11-01, + or mm-dd, i.e., 11-01 End date before which maintenance + will not take place. The date is in format yyyy-mm-dd + i.e., 2020-11-01, or mm-dd, i.e., 11-01' + type: string + startDate: + description: '"deny maintenance period" start date. + If the year of the start date is empty, the year + of the end date also must be empty. In this case, + it means the deny maintenance period recurs every + year. The date is in format yyyy-mm-dd i.e., 2020-11-01, + or mm-dd, i.e., 11-01 Start date after which maintenance + will not take place. The date is in format yyyy-mm-dd + i.e., 2020-11-01, or mm-dd, i.e., 11-01' + type: string + time: + description: 'Time in UTC when the "deny maintenance + period" starts on startDate and ends on endDate. + The time is in format: HH:mm:SS, i.e., 00:00:00 + Time in UTC when the "deny maintenance period" starts + on start_date and ends on end_date. The time is + in format: HH:mm:SS, i.e., 00:00:00' + type: string + type: object + type: array + diskAutoresize: + description: Enables auto-resizing of the storage size. + Defaults to true. Enables auto-resizing of the storage + size. Defaults to true. + type: boolean + diskAutoresizeLimit: + description: The maximum size to which storage capacity + can be automatically increased. The default value is 0, + which specifies that there is no limit. The maximum size, + in GB, to which storage capacity can be automatically + increased. The default value is 0, which specifies that + there is no limit. + type: number + diskSize: + description: The size of data disk, in GB. Size of a running + instance cannot be reduced but can be increased. The minimum + value is 10GB. The size of data disk, in GB. Size of a + running instance cannot be reduced but can be increased. + The minimum value is 10GB. + type: number + diskType: + description: 'The type of data disk: PD_SSD or PD_HDD. Defaults + to PD_SSD. The type of data disk: PD_SSD or PD_HDD. Defaults + to PD_SSD.' + type: string + insightsConfig: + description: Configuration of Query Insights. + items: + properties: + queryInsightsEnabled: + description: True if Query Insights feature is enabled. + True if Query Insights feature is enabled. + type: boolean + queryPlansPerMinute: + description: Number of query execution plans captured + by Insights per minute for all queries combined. + Between 0 and 20. Default to 5. Number of query + execution plans captured by Insights per minute + for all queries combined. Between 0 and 20. Default + to 5. + type: number + queryStringLength: + description: Maximum query length stored in bytes. + Between 256 and 4500. Default to 1024. Higher query + lengths are more useful for analytical queries, + but they also require more memory. Changing the + query length requires you to restart the instance. + You can still add tags to queries that exceed the + length limit. Maximum query length stored in bytes. + Between 256 and 4500. Default to 1024. + type: number + recordApplicationTags: + description: True if Query Insights will record application + tags from query when enabled. True if Query Insights + will record application tags from query when enabled. + type: boolean + recordClientAddress: + description: True if Query Insights will record client + address when enabled. True if Query Insights will + record client address when enabled. + type: boolean + type: object + type: array + ipConfiguration: + items: + properties: + allocatedIpRange: + description: 'The name of the allocated ip range for + the private ip CloudSQL instance. For example: "google-managed-services-default". + If set, the instance ip will be created in the allocated + range. The range name must comply with RFC 1035. + Specifically, the name must be 1-63 characters long + and match the regular expression a-z?. The name + of the allocated ip range for the private ip CloudSQL + instance. For example: "google-managed-services-default". + If set, the instance ip will be created in the allocated + range. The range name must comply with RFC 1035. + Specifically, the name must be 1-63 characters long + and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?.' + type: string + authorizedNetworks: + items: + properties: + expirationTime: + description: The RFC 3339 formatted date time + string indicating when this whitelist expires. + type: string + name: + description: A name for this whitelist entry. + type: string + value: + description: A CIDR notation IPv4 or IPv6 address + that is allowed to access this instance. Must + be set even if other two attributes are not + for the whitelist to become active. + type: string + type: object + type: array + enablePrivatePathForGoogleCloudServices: + description: Whether Google Cloud services such as + BigQuery are allowed to access data in this Cloud + SQL instance over a private IP connection. SQLSERVER + database type is not supported. Whether Google Cloud + services such as BigQuery are allowed to access + data in this Cloud SQL instance over a private IP + connection. SQLSERVER database type is not supported. + type: boolean + ipv4Enabled: + description: Whether this Cloud SQL instance should + be assigned a public IPV4 address. At least ipv4_enabled + must be enabled or a private_network must be configured. + Whether this Cloud SQL instance should be assigned + a public IPV4 address. At least ipv4_enabled must + be enabled or a private_network must be configured. + type: boolean + privateNetwork: + description: The VPC network from which the Cloud + SQL instance is accessible for private IP. For example, projects/myProject/global/networks/default. + Specifying a network enables private IP. At least + ipv4_enabled must be enabled or a private_network + must be configured. This setting can be updated, + but it cannot be removed after it is set. The VPC + network from which the Cloud SQL instance is accessible + for private IP. For example, projects/myProject/global/networks/default. + Specifying a network enables private IP. At least + ipv4_enabled must be enabled or a private_network + must be configured. This setting can be updated, + but it cannot be removed after it is set. + type: string + requireSsl: + description: Whether SSL connections over IP are enforced + or not. + type: boolean + type: object + type: array + locationPreference: + items: + properties: + followGaeApplication: + description: A GAE application whose zone to remain + in. Must be in the same region as this instance. + A Google App Engine application whose zone to remain + in. Must be in the same region as this instance. + type: string + secondaryZone: + description: The preferred Compute Engine zone for + the secondary/failover. The preferred Compute Engine + zone for the secondary/failover + type: string + zone: + description: The preferred compute engine zone. The + preferred compute engine zone. + type: string + type: object + type: array + maintenanceWindow: + description: Declares a one-hour maintenance window when + an Instance can automatically restart to apply updates. + The maintenance window is specified in UTC time. + items: + properties: + day: + description: Day of week (1-7), starting on Monday + Day of week (1-7), starting on Monday + type: number + hour: + description: Hour of day (0-23), ignored if day not + set Hour of day (0-23), ignored if day not set + type: number + updateTrack: + description: Receive updates earlier (canary) or later + (stable) Receive updates earlier (canary) or later + (stable) + type: string + type: object + type: array + passwordValidationPolicy: + items: + properties: + complexity: + description: Checks if the password is a combination + of lowercase, uppercase, numeric, and non-alphanumeric + characters. Password complexity. + type: string + disallowUsernameSubstring: + description: Prevents the use of the username in the + password. Disallow username as a part of the password. + type: boolean + enablePasswordPolicy: + description: Enables or disable the password validation + policy. Whether the password policy is enabled or + not. + type: boolean + minLength: + description: Specifies the minimum number of characters + that the password must have. Minimum number of characters + allowed. + type: number + passwordChangeInterval: + description: Specifies the minimum duration after + which you can change the password. Minimum interval + after which the password can be changed. This flag + is only supported for PostgresSQL. + type: string + reuseInterval: + description: Specifies the number of previous passwords + that you can't reuse. Number of previous passwords + that cannot be reused. + type: number + type: object + type: array + pricingPlan: + description: Pricing plan for this instance, can only be + PER_USE. Pricing plan for this instance, can only be PER_USE. + type: string + sqlServerAuditConfig: + items: + properties: + bucket: + description: The name of the destination bucket (e.g., + gs://mybucket). The name of the destination bucket + (e.g., gs://mybucket). + type: string + retentionInterval: + description: 'How long to keep generated audit files. + A duration in seconds with up to nine fractional + digits, terminated by ''s''. Example: "3.5s". How + long to keep generated audit files. A duration in + seconds with up to nine fractional digits, terminated + by ''s''. Example: "3.5s"..' + type: string + uploadInterval: + description: 'How often to upload generated audit + files. A duration in seconds with up to nine fractional + digits, terminated by ''s''. Example: "3.5s". How + often to upload generated audit files. A duration + in seconds with up to nine fractional digits, terminated + by ''s''. Example: "3.5s".' + type: string + type: object + type: array + tier: + description: The machine type to use. See tiers for more + details and supported versions. Postgres supports only + shared-core machine types, and custom machine types such + as db-custom-2-13312. See the Custom Machine Type Documentation + to learn about specifying custom machine types. The machine + type to use. See tiers for more details and supported + versions. Postgres supports only shared-core machine types, + and custom machine types such as db-custom-2-13312. See + the Custom Machine Type Documentation to learn about specifying + custom machine types. + type: string + timeZone: + description: The time_zone to be used by the database engine + (supported only for SQL Server), in SQL Server timezone + format. The time_zone to be used by the database engine + (supported only for SQL Server), in SQL Server timezone + format. + type: string + userLabels: + additionalProperties: + type: string + description: A set of key/value user label pairs to assign + to the instance. A set of key/value user label pairs to + assign to the instance. + type: object + version: + description: Used to make sure changes to the settings block + are atomic. Used to make sure changes to the settings + block are atomic. + type: number + type: object + type: array + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_databases.yaml b/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_databases.yaml new file mode 100644 index 000000000..b2be72a7c --- /dev/null +++ b/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_databases.yaml @@ -0,0 +1,466 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: databases.sql.gcp.kubedb.com +spec: + group: sql.gcp.kubedb.com + names: + categories: + - crossplane + - managed + - gcp + kind: Database + listKind: DatabaseList + plural: databases + singular: database + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Database is the Schema for the Databases API. Represents a SQL + database inside the Cloud SQL instance, hosted in Google's cloud. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: DatabaseSpec defines the desired state of Database + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + charset: + description: The charset value. See MySQL's Supported Character + Sets and Collations and Postgres' Character Set Support for + more details and supported values. Postgres databases only support + a value of UTF8 at creation time. The charset value. See MySQL's + [Supported Character Sets and Collations](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html) + and Postgres' [Character Set Support](https://www.postgresql.org/docs/9.6/static/multibyte.html) + for more details and supported values. Postgres databases only + support a value of 'UTF8' at creation time. + type: string + collation: + description: The collation value. See MySQL's Supported Character + Sets and Collations and Postgres' Collation Support for more + details and supported values. Postgres databases only support + a value of en_US.UTF8 at creation time. The collation value. + See MySQL's [Supported Character Sets and Collations](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html) + and Postgres' [Collation Support](https://www.postgresql.org/docs/9.6/static/collation.html) + for more details and supported values. Postgres databases only + support a value of 'en_US.UTF8' at creation time. + type: string + deletionPolicy: + description: 'The deletion policy for the database. Setting ABANDON + allows the resource to be abandoned rather than deleted. This + is useful for Postgres, where databases cannot be deleted from + the API if there are users other than cloudsqlsuperuser with + access. Possible values are: "ABANDON", "DELETE". Defaults to + "DELETE". The deletion policy for the database. Setting ABANDON + allows the resource to be abandoned rather than deleted. This + is useful for Postgres, where databases cannot be deleted from + the API if there are users other than cloudsqlsuperuser with + access. Possible values are: "ABANDON", "DELETE". Defaults to + "DELETE".' + type: string + instance: + description: The name of the Cloud SQL instance. This does not + include the project ID. The name of the Cloud SQL instance. + This does not include the project ID. + type: string + instanceRef: + description: Reference to a DatabaseInstance to populate instance. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + instanceSelector: + description: Selector for a DatabaseInstance to populate instance. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: DatabaseStatus defines the observed state of Database. + properties: + atProvider: + properties: + charset: + description: The charset value. See MySQL's Supported Character + Sets and Collations and Postgres' Character Set Support for + more details and supported values. Postgres databases only support + a value of UTF8 at creation time. The charset value. See MySQL's + [Supported Character Sets and Collations](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html) + and Postgres' [Character Set Support](https://www.postgresql.org/docs/9.6/static/multibyte.html) + for more details and supported values. Postgres databases only + support a value of 'UTF8' at creation time. + type: string + collation: + description: The collation value. See MySQL's Supported Character + Sets and Collations and Postgres' Collation Support for more + details and supported values. Postgres databases only support + a value of en_US.UTF8 at creation time. The collation value. + See MySQL's [Supported Character Sets and Collations](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html) + and Postgres' [Collation Support](https://www.postgresql.org/docs/9.6/static/collation.html) + for more details and supported values. Postgres databases only + support a value of 'en_US.UTF8' at creation time. + type: string + deletionPolicy: + description: 'The deletion policy for the database. Setting ABANDON + allows the resource to be abandoned rather than deleted. This + is useful for Postgres, where databases cannot be deleted from + the API if there are users other than cloudsqlsuperuser with + access. Possible values are: "ABANDON", "DELETE". Defaults to + "DELETE". The deletion policy for the database. Setting ABANDON + allows the resource to be abandoned rather than deleted. This + is useful for Postgres, where databases cannot be deleted from + the API if there are users other than cloudsqlsuperuser with + access. Possible values are: "ABANDON", "DELETE". Defaults to + "DELETE".' + type: string + id: + description: an identifier for the resource with format projects/{{project}}/instances/{{instance}}/databases/{{name}} + type: string + instance: + description: The name of the Cloud SQL instance. This does not + include the project ID. The name of the Cloud SQL instance. + This does not include the project ID. + type: string + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + selfLink: + description: The URI of the created resource. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_sourcerepresentationinstances.yaml b/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_sourcerepresentationinstances.yaml new file mode 100644 index 000000000..2ec7c5903 --- /dev/null +++ b/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_sourcerepresentationinstances.yaml @@ -0,0 +1,451 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: sourcerepresentationinstances.sql.gcp.kubedb.com +spec: + group: sql.gcp.kubedb.com + names: + categories: + - crossplane + - managed + - gcp + kind: SourceRepresentationInstance + listKind: SourceRepresentationInstanceList + plural: sourcerepresentationinstances + singular: sourcerepresentationinstance + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: SourceRepresentationInstance is the Schema for the SourceRepresentationInstances + API. A source representation instance is a Cloud SQL instance that represents + the source database server to the Cloud SQL replica. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SourceRepresentationInstanceSpec defines the desired state + of SourceRepresentationInstance + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + caCertificate: + description: The CA certificate on the external server. Include + only if SSL/TLS is used on the external server. The CA certificate + on the external server. Include only if SSL/TLS is used on the + external server. + type: string + clientCertificate: + description: The client certificate on the external server. Required + only for server-client authentication. Include only if SSL/TLS + is used on the external server. The client certificate on the + external server. Required only for server-client authentication. + Include only if SSL/TLS is used on the external server. + type: string + clientKey: + description: The private key file for the client certificate on + the external server. Required only for server-client authentication. + Include only if SSL/TLS is used on the external server. The + private key file for the client certificate on the external + server. Required only for server-client authentication. Include + only if SSL/TLS is used on the external server. + type: string + databaseVersion: + description: 'The MySQL version running on your source database + server. Possible values are: MYSQL_5_6, MYSQL_5_7, MYSQL_8_0, + POSTGRES_9_6, POSTGRES_10, POSTGRES_11, POSTGRES_12, POSTGRES_13, + POSTGRES_14. The MySQL version running on your source database + server. Possible values: ["MYSQL_5_6", "MYSQL_5_7", "MYSQL_8_0", + "POSTGRES_9_6", "POSTGRES_10", "POSTGRES_11", "POSTGRES_12", + "POSTGRES_13", "POSTGRES_14"]' + type: string + dumpFilePath: + description: A file in the bucket that contains the data from + the external server. A file in the bucket that contains the + data from the external server. + type: string + host: + description: The externally accessible IPv4 address for the source + database server. The externally accessible IPv4 address for + the source database server. + type: string + passwordSecretRef: + description: 'The password for the replication user account. Note: + This property is sensitive and will not be displayed in the + plan. The password for the replication user account.' + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + port: + description: The externally accessible port for the source database + server. Defaults to 3306. The externally accessible port for + the source database server. Defaults to 3306. + type: number + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + region: + description: The Region in which the created instance should reside. + If it is not provided, the provider region is used. The Region + in which the created instance should reside. If it is not provided, + the provider region is used. + type: string + username: + description: The replication user account on the external server. + The replication user account on the external server. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: databaseVersion is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.databaseVersion) + - message: host is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.host) + status: + description: SourceRepresentationInstanceStatus defines the observed state + of SourceRepresentationInstance. + properties: + atProvider: + properties: + caCertificate: + description: The CA certificate on the external server. Include + only if SSL/TLS is used on the external server. The CA certificate + on the external server. Include only if SSL/TLS is used on the + external server. + type: string + clientCertificate: + description: The client certificate on the external server. Required + only for server-client authentication. Include only if SSL/TLS + is used on the external server. The client certificate on the + external server. Required only for server-client authentication. + Include only if SSL/TLS is used on the external server. + type: string + clientKey: + description: The private key file for the client certificate on + the external server. Required only for server-client authentication. + Include only if SSL/TLS is used on the external server. The + private key file for the client certificate on the external + server. Required only for server-client authentication. Include + only if SSL/TLS is used on the external server. + type: string + databaseVersion: + description: 'The MySQL version running on your source database + server. Possible values are: MYSQL_5_6, MYSQL_5_7, MYSQL_8_0, + POSTGRES_9_6, POSTGRES_10, POSTGRES_11, POSTGRES_12, POSTGRES_13, + POSTGRES_14. The MySQL version running on your source database + server. Possible values: ["MYSQL_5_6", "MYSQL_5_7", "MYSQL_8_0", + "POSTGRES_9_6", "POSTGRES_10", "POSTGRES_11", "POSTGRES_12", + "POSTGRES_13", "POSTGRES_14"]' + type: string + dumpFilePath: + description: A file in the bucket that contains the data from + the external server. A file in the bucket that contains the + data from the external server. + type: string + host: + description: The externally accessible IPv4 address for the source + database server. The externally accessible IPv4 address for + the source database server. + type: string + id: + description: an identifier for the resource with format projects/{{project}}/instances/{{name}} + type: string + port: + description: The externally accessible port for the source database + server. Defaults to 3306. The externally accessible port for + the source database server. Defaults to 3306. + type: number + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. + type: string + region: + description: The Region in which the created instance should reside. + If it is not provided, the provider region is used. The Region + in which the created instance should reside. If it is not provided, + the provider region is used. + type: string + username: + description: The replication user account on the external server. + The replication user account on the external server. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_sslcerts.yaml b/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_sslcerts.yaml new file mode 100644 index 000000000..2f0ad0723 --- /dev/null +++ b/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_sslcerts.yaml @@ -0,0 +1,447 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: sslcerts.sql.gcp.kubedb.com +spec: + group: sql.gcp.kubedb.com + names: + categories: + - crossplane + - managed + - gcp + kind: SSLCert + listKind: SSLCertList + plural: sslcerts + singular: sslcert + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: SSLCert is the Schema for the SSLCerts API. Creates a new SQL + Ssl Cert in Google Cloud SQL. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: SSLCertSpec defines the desired state of SSLCert + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + commonName: + description: The common name to be used in the certificate to + identify the client. Constrained to [a-zA-Z.-_ ]+. Changing + this forces a new resource to be created. The common name to + be used in the certificate to identify the client. Constrained + to [a-zA-Z.-_ ]+. Changing this forces a new resource to be + created. + type: string + instance: + description: The name of the Cloud SQL instance. Changing this + forces a new resource to be created. The name of the Cloud SQL + instance. Changing this forces a new resource to be created. + type: string + instanceRef: + description: Reference to a DatabaseInstance to populate instance. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + instanceSelector: + description: Selector for a DatabaseInstance to populate instance. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. The ID + of the project in which the resource belongs. If it is not provided, + the provider project is used. + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: commonName is a required parameter + rule: self.managementPolicy == 'ObserveOnly' || has(self.forProvider.commonName) + status: + description: SSLCertStatus defines the observed state of SSLCert. + properties: + atProvider: + properties: + cert: + description: The actual certificate data for this client certificate. + The actual certificate data for this client certificate. + type: string + certSerialNumber: + description: The serial number extracted from the certificate + data. The serial number extracted from the certificate data. + type: string + commonName: + description: The common name to be used in the certificate to + identify the client. Constrained to [a-zA-Z.-_ ]+. Changing + this forces a new resource to be created. The common name to + be used in the certificate to identify the client. Constrained + to [a-zA-Z.-_ ]+. Changing this forces a new resource to be + created. + type: string + createTime: + description: The time when the certificate was created in RFC + 3339 format, for example 2012-11-15T16:19:00.094Z. The time + when the certificate was created in RFC 3339 format, for example + 2012-11-15T16:19:00.094Z. + type: string + expirationTime: + description: The time when the certificate expires in RFC 3339 + format, for example 2012-11-15T16:19:00.094Z. The time when + the certificate expires in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. + type: string + id: + type: string + instance: + description: The name of the Cloud SQL instance. Changing this + forces a new resource to be created. The name of the Cloud SQL + instance. Changing this forces a new resource to be created. + type: string + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. The ID + of the project in which the resource belongs. If it is not provided, + the provider project is used. + type: string + serverCaCert: + description: The CA cert of the server this client cert was generated + from. The CA cert of the server this client cert was generated + from. + type: string + sha1Fingerprint: + description: The SHA1 Fingerprint of the certificate. The SHA1 + Fingerprint of the certificate. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_users.yaml b/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_users.yaml new file mode 100644 index 000000000..48282ed1e --- /dev/null +++ b/charts/kubedb-provider-gcp/crds/sql.gcp.kubedb.com_users.yaml @@ -0,0 +1,559 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.3 + creationTimestamp: null + name: users.sql.gcp.kubedb.com +spec: + group: sql.gcp.kubedb.com + names: + categories: + - crossplane + - managed + - gcp + kind: User + listKind: UserList + plural: users + singular: user + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: User is the Schema for the Users API. Creates a new SQL user + in Google Cloud SQL. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: UserSpec defines the desired state of User + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicy field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + deletionPolicy: + description: 'The deletion policy for the user. Setting ABANDON + allows the resource to be abandoned rather than deleted. This + is useful for Postgres, where users cannot be deleted from the + API if they have been granted SQL roles. The deletion policy + for the user. Setting ABANDON allows the resource to be abandoned + rather than deleted. This is useful for Postgres, where users + cannot be deleted from the API if they have been granted SQL + roles. Possible values are: "ABANDON".' + type: string + host: + description: The host the user can connect from. This is only + supported for BUILT_IN users in MySQL instances. Don't set this + field for PostgreSQL and SQL Server instances. Can be an IP + address. Changing this forces a new resource to be created. + The host the user can connect from. This is only supported for + MySQL instances. Don't set this field for PostgreSQL instances. + Can be an IP address. Changing this forces a new resource to + be created. + type: string + instance: + description: The name of the Cloud SQL instance. Changing this + forces a new resource to be created. The name of the Cloud SQL + instance. Changing this forces a new resource to be created. + type: string + instanceRef: + description: Reference to a DatabaseInstance to populate instance. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + instanceSelector: + description: Selector for a DatabaseInstance to populate instance. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + passwordPolicy: + items: + properties: + allowedFailedAttempts: + description: Number of failed attempts allowed before the + user get locked. Number of failed attempts allowed before + the user get locked. + type: number + enableFailedAttemptsCheck: + description: If true, the check that will lock user after + too many failed login attempts will be enabled. If true, + the check that will lock user after too many failed login + attempts will be enabled. + type: boolean + enablePasswordVerification: + description: If true, the user must specify the current + password before changing the password. This flag is supported + only for MySQL. If true, the user must specify the current + password before changing the password. This flag is supported + only for MySQL. + type: boolean + passwordExpirationDuration: + description: Password expiration duration with one week + grace period. Password expiration duration with one week + grace period. + type: string + type: object + type: array + passwordSecretRef: + description: The password for the user. Can be updated. For Postgres + instances this is a Required field, unless type is set to either + CLOUD_IAM_USER or CLOUD_IAM_SERVICE_ACCOUNT. Don't set this + field for CLOUD_IAM_USER and CLOUD_IAM_SERVICE_ACCOUNT user + types for any Cloud SQL instance. The password for the user. + Can be updated. For Postgres instances this is a Required field, + unless type is set to either CLOUD_IAM_USER or CLOUD_IAM_SERVICE_ACCOUNT. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. The ID + of the project in which the resource belongs. If it is not provided, + the provider project is used. + type: string + type: + description: The user type. It determines the method to authenticate + the user during login. The default is the database's built-in + user type. Flags include "BUILT_IN", "CLOUD_IAM_USER", or "CLOUD_IAM_SERVICE_ACCOUNT". + The user type. It determines the method to authenticate the + user during login. The default is the database's built-in user + type. Flags include "BUILT_IN", "CLOUD_IAM_USER", or "CLOUD_IAM_SERVICE_ACCOUNT". + type: string + type: object + managementPolicy: + default: FullControl + description: 'THIS IS AN ALPHA FIELD. Do not use it in production. + It is not honored unless the relevant Crossplane feature flag is + enabled, and may be changed or removed without notice. ManagementPolicy + specifies the level of control Crossplane has over the managed external + resource. This field is planned to replace the DeletionPolicy field + in a future release. Currently, both could be set independently + and non-default values would be honored if the feature flag is enabled. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - FullControl + - ObserveOnly + - OrphanOnDelete + type: string + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + providerRef: + description: 'ProviderReference specifies the provider that will be + used to create, observe, update, and delete this managed resource. + Deprecated: Please use ProviderConfigReference, i.e. `providerConfigRef`' + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: UserStatus defines the observed state of User. + properties: + atProvider: + properties: + deletionPolicy: + description: 'The deletion policy for the user. Setting ABANDON + allows the resource to be abandoned rather than deleted. This + is useful for Postgres, where users cannot be deleted from the + API if they have been granted SQL roles. The deletion policy + for the user. Setting ABANDON allows the resource to be abandoned + rather than deleted. This is useful for Postgres, where users + cannot be deleted from the API if they have been granted SQL + roles. Possible values are: "ABANDON".' + type: string + host: + description: The host the user can connect from. This is only + supported for BUILT_IN users in MySQL instances. Don't set this + field for PostgreSQL and SQL Server instances. Can be an IP + address. Changing this forces a new resource to be created. + The host the user can connect from. This is only supported for + MySQL instances. Don't set this field for PostgreSQL instances. + Can be an IP address. Changing this forces a new resource to + be created. + type: string + id: + type: string + instance: + description: The name of the Cloud SQL instance. Changing this + forces a new resource to be created. The name of the Cloud SQL + instance. Changing this forces a new resource to be created. + type: string + passwordPolicy: + items: + properties: + allowedFailedAttempts: + description: Number of failed attempts allowed before the + user get locked. Number of failed attempts allowed before + the user get locked. + type: number + enableFailedAttemptsCheck: + description: If true, the check that will lock user after + too many failed login attempts will be enabled. If true, + the check that will lock user after too many failed login + attempts will be enabled. + type: boolean + enablePasswordVerification: + description: If true, the user must specify the current + password before changing the password. This flag is supported + only for MySQL. If true, the user must specify the current + password before changing the password. This flag is supported + only for MySQL. + type: boolean + passwordExpirationDuration: + description: Password expiration duration with one week + grace period. Password expiration duration with one week + grace period. + type: string + status: + items: + properties: + locked: + description: (read only) If true, user does not have + login privileges. + type: boolean + passwordExpirationTime: + description: (read only) Password expiration duration + with one week grace period. + type: string + type: object + type: array + type: object + type: array + project: + description: The ID of the project in which the resource belongs. + If it is not provided, the provider project is used. The ID + of the project in which the resource belongs. If it is not provided, + the provider project is used. + type: string + sqlServerUserDetails: + items: + properties: + disabled: + type: boolean + serverRoles: + items: + type: string + type: array + type: object + type: array + type: + description: The user type. It determines the method to authenticate + the user during login. The default is the database's built-in + user type. Flags include "BUILT_IN", "CLOUD_IAM_USER", or "CLOUD_IAM_SERVICE_ACCOUNT". + The user type. It determines the method to authenticate the + user during login. The default is the database's built-in user + type. Flags include "BUILT_IN", "CLOUD_IAM_USER", or "CLOUD_IAM_SERVICE_ACCOUNT". + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/kubedb-provider-gcp/doc.yaml b/charts/kubedb-provider-gcp/doc.yaml new file mode 100644 index 000000000..ff12271d8 --- /dev/null +++ b/charts/kubedb-provider-gcp/doc.yaml @@ -0,0 +1,18 @@ +project: + name: KubeDB GCP Provider for Crossplane + shortName: KubeDB GCP Provider + url: https://github.com/kubedb/provider-gcp + description: KubeDB GCP provider for Crossplane + app: a KubeDB GCP provider +repository: + url: https://charts.appscode.com/stable/ + name: appscode +chart: + name: kubedb-provider-gcp + values: -- generate from values file -- + valuesExample: -- generate from values file -- +prerequisites: +- Kubernetes 1.21+ +release: + name: kubedb-provider-gcp + namespace: crossplane-system \ No newline at end of file diff --git a/charts/kubedb-provider-gcp/templates/NOTES.txt b/charts/kubedb-provider-gcp/templates/NOTES.txt new file mode 100644 index 000000000..4ca1f99d6 --- /dev/null +++ b/charts/kubedb-provider-gcp/templates/NOTES.txt @@ -0,0 +1,3 @@ +To verify that Supervisor has started, run: + + kubectl get deployment --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "kubedb-provider-gcp.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" diff --git a/charts/kubedb-provider-gcp/templates/_helpers.tpl b/charts/kubedb-provider-gcp/templates/_helpers.tpl new file mode 100644 index 000000000..69e19122f --- /dev/null +++ b/charts/kubedb-provider-gcp/templates/_helpers.tpl @@ -0,0 +1,107 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "kubedb-provider-gcp.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "kubedb-provider-gcp.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "kubedb-provider-gcp.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "kubedb-provider-gcp.labels" -}} +helm.sh/chart: {{ include "kubedb-provider-gcp.chart" . }} +{{ include "kubedb-provider-gcp.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "kubedb-provider-gcp.selectorLabels" -}} +app.kubernetes.io/name: {{ include "kubedb-provider-gcp.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "kubedb-provider-gcp.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "kubedb-provider-gcp.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} + +{{/* +Returns the appscode license +*/}} +{{- define "appscode.license" -}} +{{- .Values.license }} +{{- end }} + +{{/* +Returns the registry used for operator docker image +*/}} +{{- define "image.registry" -}} +{{- list .Values.registryFQDN .Values.image.registry | compact | join "/" }} +{{- end }} + +{{- define "appscode.imagePullSecrets" -}} +{{- with .Values.imagePullSecrets -}} +imagePullSecrets: +{{- toYaml . | nindent 2 }} +{{- end }} +{{- end }} + +{{/* +Returns the enabled monitoring agent name +*/}} +{{- define "monitoring.agent" -}} +{{- .Values.monitoring.agent }} +{{- end }} + +{{/* +Returns whether the ServiceMonitor will be labeled with custom label +*/}} +{{- define "monitoring.apply-servicemonitor-label" -}} +{{- ternary "false" "true" ( empty .Values.monitoring.serviceMonitor.labels ) -}} +{{- end }} + +{{/* +Returns the ServiceMonitor labels +*/}} +{{- define "monitoring.servicemonitor-label" -}} +{{- range $key, $val := .Values.monitoring.serviceMonitor.labels }} +{{ $key }}: {{ $val }} +{{- end }} +{{- end }} diff --git a/charts/kubedb-provider-gcp/templates/cluster-role-binding.yaml b/charts/kubedb-provider-gcp/templates/cluster-role-binding.yaml new file mode 100644 index 000000000..200726f35 --- /dev/null +++ b/charts/kubedb-provider-gcp/templates/cluster-role-binding.yaml @@ -0,0 +1,14 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ include "kubedb-provider-gcp.fullname" . }} + labels: + {{- include "kubedb-provider-gcp.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ include "kubedb-provider-gcp.fullname" . }} +subjects: +- kind: ServiceAccount + name: {{ include "kubedb-provider-gcp.fullname" . }} + namespace: {{ .Release.Namespace }} diff --git a/charts/kubedb-provider-gcp/templates/cluster-role.yaml b/charts/kubedb-provider-gcp/templates/cluster-role.yaml new file mode 100644 index 000000000..d5223b241 --- /dev/null +++ b/charts/kubedb-provider-gcp/templates/cluster-role.yaml @@ -0,0 +1,34 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ include "kubedb-provider-gcp.fullname" . }} + labels: + {{- include "kubedb-provider-gcp.labels" . | nindent 4 }} +rules: +- apiGroups: + - compute.gcp.kubedb.com + - gcp.kubedb.com + - redis.gcp.kubedb.com + - spanner.gcp.kubedb.com + - sql.gcp.kubedb.com + resources: ["*"] + verbs: ["*"] +- apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: ["*"] +- apiGroups: [""] + resources: + - nodes + - secrets + verbs: ["list","watch","get"] +- apiGroups: [""] + resources: + - serviceaccounts + verbs: ["create", "get", "patch", "list", "watch"] +- apiGroups: + - "" + resources: + - events + verbs: ["*"] diff --git a/charts/kubedb-provider-gcp/templates/deployment.yaml b/charts/kubedb-provider-gcp/templates/deployment.yaml new file mode 100644 index 000000000..b702ad51c --- /dev/null +++ b/charts/kubedb-provider-gcp/templates/deployment.yaml @@ -0,0 +1,75 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "kubedb-provider-gcp.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kubedb-provider-gcp.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + {{- include "kubedb-provider-gcp.selectorLabels" . | nindent 6 }} + template: + metadata: + {{- with .Values.podAnnotations }} + annotations: + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "kubedb-provider-gcp.selectorLabels" . | nindent 8 }} + spec: + {{- include "appscode.imagePullSecrets" . | nindent 6 }} + serviceAccountName: {{ include "kubedb-provider-gcp.serviceAccountName" . }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + containers: + - name: {{ .Chart.Name }} + securityContext: + {{- toYaml .Values.image.securityContext | nindent 12 }} + image: {{ include "image.registry" . }}/{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }} + imagePullPolicy: {{ .Values.imagePullPolicy }} + args: + - --debug + ports: + - containerPort: 8080 + name: metrics + protocol: TCP + - containerPort: 9443 + name: webhook + protocol: TCP + # ports: + # - name: metrics + # containerPort: 8080 + # protocol: TCP + # - name: http + # containerPort: 8081 + # protocol: TCP + # livenessProbe: + # httpGet: + # path: /healthz + # port: http + # readinessProbe: + # httpGet: + # path: /readyz + # port: http + resources: + {{- toYaml .Values.image.resources | nindent 12 }} + volumeMounts: + - name: tmp + mountPath: /tmp + volumes: + - name: tmp + emptyDir: {} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/charts/kubedb-provider-gcp/templates/provider-config.yaml b/charts/kubedb-provider-gcp/templates/provider-config.yaml new file mode 100644 index 000000000..d7620b5f2 --- /dev/null +++ b/charts/kubedb-provider-gcp/templates/provider-config.yaml @@ -0,0 +1,12 @@ +apiVersion: gcp.kubedb.com/v1beta1 +kind: ProviderConfig +metadata: + name: {{ include "kubedb-provider-gcp.fullname" . }} +spec: + projectID: {{ .Values.gcp.projectID }} + credentials: + source: Secret + secretRef: + namespace: capi-cluster + name: {{ .Values.gcp.secretName }} + key: credential_json diff --git a/charts/kubedb-provider-gcp/templates/service.yaml b/charts/kubedb-provider-gcp/templates/service.yaml new file mode 100644 index 000000000..eac3b7831 --- /dev/null +++ b/charts/kubedb-provider-gcp/templates/service.yaml @@ -0,0 +1,25 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ include "kubedb-provider-gcp.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kubedb-provider-gcp.labels" . | nindent 4 }} +{{- if eq "prometheus.io/builtin" ( include "monitoring.agent" . ) }} + annotations: + prometheus.io/scrape: "true" + prometheus.io/path: "/metrics" + prometheus.io/port: "8443" + prometheus.io/scheme: "https" +{{- end }} +spec: + ports: + # Port used to expose admission webhook apiserver + - name: metrics + port: 8080 + targetPort: 8080 + - name: webhook + port: 443 + targetPort: 9443 + selector: + {{- include "kubedb-provider-gcp.selectorLabels" . | nindent 4 }} diff --git a/charts/kubedb-provider-gcp/templates/serviceaccount.yaml b/charts/kubedb-provider-gcp/templates/serviceaccount.yaml new file mode 100644 index 000000000..b2fabe2ac --- /dev/null +++ b/charts/kubedb-provider-gcp/templates/serviceaccount.yaml @@ -0,0 +1,13 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "kubedb-provider-gcp.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kubedb-provider-gcp.labels" . | nindent 4 }} + {{- with .Values.serviceAccount.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +{{- end }} diff --git a/charts/kubedb-provider-gcp/templates/servicemonitor.yaml b/charts/kubedb-provider-gcp/templates/servicemonitor.yaml new file mode 100644 index 000000000..34f2493f0 --- /dev/null +++ b/charts/kubedb-provider-gcp/templates/servicemonitor.yaml @@ -0,0 +1,30 @@ +{{- if eq "prometheus.io/operator" ( include "monitoring.agent" . ) }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ include "kubedb-provider-gcp.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- if eq "true" ( include "monitoring.apply-servicemonitor-label" . ) }} + {{- include "monitoring.servicemonitor-label" . | nindent 4 }} + {{- else }} + {{- include "kubedb-provider-gcp.selectorLabels" . | nindent 4 }} + {{- end }} +spec: + namespaceSelector: + matchNames: + - {{ .Release.Namespace }} + selector: + matchLabels: + {{- include "kubedb-provider-gcp.selectorLabels" . | nindent 6 }} + endpoints: + - port: api + bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token + scheme: https + tlsConfig: + ca: + secret: + name: {{ include "kubedb-provider-gcp.fullname" . }}-apiserver-cert + key: tls.crt + serverName: "{{ include "kubedb-provider-gcp.fullname" . }}.{{ .Release.Namespace }}.svc" +{{- end }} diff --git a/charts/kubedb-provider-gcp/values.openapiv3_schema.yaml b/charts/kubedb-provider-gcp/values.openapiv3_schema.yaml new file mode 100644 index 000000000..17fdb5214 --- /dev/null +++ b/charts/kubedb-provider-gcp/values.openapiv3_schema.yaml @@ -0,0 +1,1199 @@ +properties: + affinity: + description: If specified, the pod's scheduling constraints + properties: + nodeAffinity: + description: Describes node affinity scheduling rules for the pod. + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: The scheduler will prefer to schedule pods to nodes that + satisfy the affinity expressions specified by this field, but it may + choose a node that violates one or more of the expressions. The node + that is most preferred is the one with the greatest sum of weights, + i.e. for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling affinity expressions, etc.), compute + a sum by iterating through the elements of this field and adding "weight" + to the sum if the node matches the corresponding matchExpressions; the + node(s) with the highest sum are the most preferred. + items: + description: An empty preferred scheduling term matches all objects + with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling + term matches no objects (i.e. is also a no-op). + properties: + preference: + description: A node selector term, associated with the corresponding + weight. + properties: + matchExpressions: + description: A list of node selector requirements by node's + labels. + items: + description: A node selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: The label key that the selector applies to. + type: string + operator: + description: Represents a key's relationship to a set + of values. Valid operators are In, NotIn, Exists, DoesNotExist. + Gt, and Lt. + type: string + values: + description: An array of string values. If the operator + is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. If the operator is Gt or Lt, the + values array must have a single element, which will + be interpreted as an integer. This array is replaced + during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + description: A list of node selector requirements by node's + fields. + items: + description: A node selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: The label key that the selector applies to. + type: string + operator: + description: Represents a key's relationship to a set + of values. Valid operators are In, NotIn, Exists, DoesNotExist. + Gt, and Lt. + type: string + values: + description: An array of string values. If the operator + is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. If the operator is Gt or Lt, the + values array must have a single element, which will + be interpreted as an integer. This array is replaced + during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + x-kubernetes-map-type: atomic + weight: + description: Weight associated with matching the corresponding nodeSelectorTerm, + in the range 1-100. + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + description: If the affinity requirements specified by this field are + not met at scheduling time, the pod will not be scheduled onto the node. + If the affinity requirements specified by this field cease to be met + at some point during pod execution (e.g. due to an update), the system + may or may not try to eventually evict the pod from its node. + properties: + nodeSelectorTerms: + description: Required. A list of node selector terms. The terms are + ORed. + items: + description: A null or empty node selector term matches no objects. + The requirements of them are ANDed. The TopologySelectorTerm type + implements a subset of the NodeSelectorTerm. + properties: + matchExpressions: + description: A list of node selector requirements by node's + labels. + items: + description: A node selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: The label key that the selector applies to. + type: string + operator: + description: Represents a key's relationship to a set + of values. Valid operators are In, NotIn, Exists, DoesNotExist. + Gt, and Lt. + type: string + values: + description: An array of string values. If the operator + is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. If the operator is Gt or Lt, the + values array must have a single element, which will + be interpreted as an integer. This array is replaced + during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + description: A list of node selector requirements by node's + fields. + items: + description: A node selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: The label key that the selector applies to. + type: string + operator: + description: Represents a key's relationship to a set + of values. Valid operators are In, NotIn, Exists, DoesNotExist. + Gt, and Lt. + type: string + values: + description: An array of string values. If the operator + is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. If the operator is Gt or Lt, the + values array must have a single element, which will + be interpreted as an integer. This array is replaced + during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + x-kubernetes-map-type: atomic + type: array + required: + - nodeSelectorTerms + type: object + x-kubernetes-map-type: atomic + type: object + podAffinity: + description: Describes pod affinity scheduling rules (e.g. co-locate this + pod in the same node, zone, etc. as some other pod(s)). + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: The scheduler will prefer to schedule pods to nodes that + satisfy the affinity expressions specified by this field, but it may + choose a node that violates one or more of the expressions. The node + that is most preferred is the one with the greatest sum of weights, + i.e. for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling affinity expressions, etc.), compute + a sum by iterating through the elements of this field and adding "weight" + to the sum if the node has pods which matches the corresponding podAffinityTerm; + the node(s) with the highest sum are the most preferred. + items: + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred node(s) + properties: + podAffinityTerm: + description: Required. A pod affinity term, associated with the + corresponding weight. + properties: + labelSelector: + description: A label query over a set of resources, in this + case pods. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. This + array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + description: A label query over the set of namespaces that the + term applies to. The term is applied to the union of the namespaces + selected by this field and the ones listed in the namespaces + field. null selector and null or empty namespaces list means + "this pod's namespace". An empty selector ({}) matches all + namespaces. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. This + array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: namespaces specifies a static list of namespace + names that the term applies to. The term is applied to the + union of the namespaces listed in this field and the ones + selected by namespaceSelector. null or empty namespaces list + and null namespaceSelector means "this pod's namespace". + items: + type: string + type: array + topologyKey: + description: This pod should be co-located (affinity) or not + co-located (anti-affinity) with the pods matching the labelSelector + in the specified namespaces, where co-located is defined as + running on a node whose value of the label with key topologyKey + matches that of any node on which any of the selected pods + is running. Empty topologyKey is not allowed. + type: string + required: + - topologyKey + type: object + weight: + description: weight associated with matching the corresponding podAffinityTerm, + in the range 1-100. + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + description: If the affinity requirements specified by this field are + not met at scheduling time, the pod will not be scheduled onto the node. + If the affinity requirements specified by this field cease to be met + at some point during pod execution (e.g. due to a pod label update), + the system may or may not try to eventually evict the pod from its node. + When there are multiple elements, the lists of nodes corresponding to + each podAffinityTerm are intersected, i.e. all terms must be satisfied. + items: + description: Defines a set of pods (namely those matching the labelSelector + relative to the given namespace(s)) that this pod should be co-located + (affinity) or not co-located (anti-affinity) with, where co-located + is defined as running on a node whose value of the label with key + matches that of any node on which a pod of the set of + pods is running + properties: + labelSelector: + description: A label query over a set of resources, in this case + pods. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a + strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + description: A label query over the set of namespaces that the term + applies to. The term is applied to the union of the namespaces + selected by this field and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's + namespace". An empty selector ({}) matches all namespaces. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a + strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: namespaces specifies a static list of namespace names + that the term applies to. The term is applied to the union of + the namespaces listed in this field and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means + "this pod's namespace". + items: + type: string + type: array + topologyKey: + description: This pod should be co-located (affinity) or not co-located + (anti-affinity) with the pods matching the labelSelector in the + specified namespaces, where co-located is defined as running on + a node whose value of the label with key topologyKey matches that + of any node on which any of the selected pods is running. Empty + topologyKey is not allowed. + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + description: Describes pod anti-affinity scheduling rules (e.g. avoid putting + this pod in the same node, zone, etc. as some other pod(s)). + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: The scheduler will prefer to schedule pods to nodes that + satisfy the anti-affinity expressions specified by this field, but it + may choose a node that violates one or more of the expressions. The + node that is most preferred is the one with the greatest sum of weights, + i.e. for each node that meets all of the scheduling requirements (resource + request, requiredDuringScheduling anti-affinity expressions, etc.), + compute a sum by iterating through the elements of this field and adding + "weight" to the sum if the node has pods which matches the corresponding + podAffinityTerm; the node(s) with the highest sum are the most preferred. + items: + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred node(s) + properties: + podAffinityTerm: + description: Required. A pod affinity term, associated with the + corresponding weight. + properties: + labelSelector: + description: A label query over a set of resources, in this + case pods. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. This + array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + description: A label query over the set of namespaces that the + term applies to. The term is applied to the union of the namespaces + selected by this field and the ones listed in the namespaces + field. null selector and null or empty namespaces list means + "this pod's namespace". An empty selector ({}) matches all + namespaces. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. This + array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: namespaces specifies a static list of namespace + names that the term applies to. The term is applied to the + union of the namespaces listed in this field and the ones + selected by namespaceSelector. null or empty namespaces list + and null namespaceSelector means "this pod's namespace". + items: + type: string + type: array + topologyKey: + description: This pod should be co-located (affinity) or not + co-located (anti-affinity) with the pods matching the labelSelector + in the specified namespaces, where co-located is defined as + running on a node whose value of the label with key topologyKey + matches that of any node on which any of the selected pods + is running. Empty topologyKey is not allowed. + type: string + required: + - topologyKey + type: object + weight: + description: weight associated with matching the corresponding podAffinityTerm, + in the range 1-100. + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + description: If the anti-affinity requirements specified by this field + are not met at scheduling time, the pod will not be scheduled onto the + node. If the anti-affinity requirements specified by this field cease + to be met at some point during pod execution (e.g. due to a pod label + update), the system may or may not try to eventually evict the pod from + its node. When there are multiple elements, the lists of nodes corresponding + to each podAffinityTerm are intersected, i.e. all terms must be satisfied. + items: + description: Defines a set of pods (namely those matching the labelSelector + relative to the given namespace(s)) that this pod should be co-located + (affinity) or not co-located (anti-affinity) with, where co-located + is defined as running on a node whose value of the label with key + matches that of any node on which a pod of the set of + pods is running + properties: + labelSelector: + description: A label query over a set of resources, in this case + pods. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a + strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + description: A label query over the set of namespaces that the term + applies to. The term is applied to the union of the namespaces + selected by this field and the ones listed in the namespaces field. + null selector and null or empty namespaces list means "this pod's + namespace". An empty selector ({}) matches all namespaces. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a + strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: namespaces specifies a static list of namespace names + that the term applies to. The term is applied to the union of + the namespaces listed in this field and the ones selected by namespaceSelector. + null or empty namespaces list and null namespaceSelector means + "this pod's namespace". + items: + type: string + type: array + topologyKey: + description: This pod should be co-located (affinity) or not co-located + (anti-affinity) with the pods matching the labelSelector in the + specified namespaces, where co-located is defined as running on + a node whose value of the label with key topologyKey matches that + of any node on which any of the selected pods is running. Empty + topologyKey is not allowed. + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + fullnameOverride: + type: string + gcp: + properties: + projectID: + type: string + secretName: + type: string + required: + - projectID + - secretName + type: object + image: + properties: + registry: + type: string + repository: + type: string + resources: + description: Compute Resources required by the sidecar container. + properties: + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute resources + allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of compute resources + required. If Requests is omitted for a container, it defaults to Limits + if that is explicitly specified, otherwise to an implementation-defined + value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object + securityContext: + description: Security options the pod should run with. + properties: + allowPrivilegeEscalation: + description: 'AllowPrivilegeEscalation controls whether a process can + gain more privileges than its parent process. This bool directly controls + if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation + is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN + Note that this field cannot be set when spec.os.name is windows.' + type: boolean + capabilities: + description: The capabilities to add/drop when running containers. Defaults + to the default set of capabilities granted by the container runtime. + Note that this field cannot be set when spec.os.name is windows. + properties: + add: + description: Added capabilities + items: + description: Capability represent POSIX capabilities type + type: string + type: array + drop: + description: Removed capabilities + items: + description: Capability represent POSIX capabilities type + type: string + type: array + type: object + privileged: + description: Run container in privileged mode. Processes in privileged + containers are essentially equivalent to root on the host. Defaults + to false. Note that this field cannot be set when spec.os.name is windows. + type: boolean + procMount: + description: procMount denotes the type of proc mount to use for the containers. + The default is DefaultProcMount which uses the container runtime defaults + for readonly paths and masked paths. This requires the ProcMountType + feature flag to be enabled. Note that this field cannot be set when + spec.os.name is windows. + type: string + readOnlyRootFilesystem: + description: Whether this container has a read-only root filesystem. Default + is false. Note that this field cannot be set when spec.os.name is windows. + type: boolean + runAsGroup: + description: The GID to run the entrypoint of the container process. Uses + runtime default if unset. May also be set in PodSecurityContext. If + set in both SecurityContext and PodSecurityContext, the value specified + in SecurityContext takes precedence. Note that this field cannot be + set when spec.os.name is windows. + format: int64 + type: integer + runAsNonRoot: + description: Indicates that the container must run as a non-root user. + If true, the Kubelet will validate the image at runtime to ensure that + it does not run as UID 0 (root) and fail to start the container if it + does. If unset or false, no such validation will be performed. May also + be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, + the value specified in SecurityContext takes precedence. + type: boolean + runAsUser: + description: The UID to run the entrypoint of the container process. Defaults + to user specified in image metadata if unspecified. May also be set + in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, + the value specified in SecurityContext takes precedence. Note that this + field cannot be set when spec.os.name is windows. + format: int64 + type: integer + seLinuxOptions: + description: The SELinux context to be applied to the container. If unspecified, + the container runtime will allocate a random SELinux context for each + container. May also be set in PodSecurityContext. If set in both SecurityContext + and PodSecurityContext, the value specified in SecurityContext takes + precedence. Note that this field cannot be set when spec.os.name is + windows. + properties: + level: + description: Level is SELinux level label that applies to the container. + type: string + role: + description: Role is a SELinux role label that applies to the container. + type: string + type: + description: Type is a SELinux type label that applies to the container. + type: string + user: + description: User is a SELinux user label that applies to the container. + type: string + type: object + seccompProfile: + description: The seccomp options to use by this container. If seccomp + options are provided at both the pod & container level, the container + options override the pod options. Note that this field cannot be set + when spec.os.name is windows. + properties: + localhostProfile: + description: localhostProfile indicates a profile defined in a file + on the node should be used. The profile must be preconfigured on + the node to work. Must be a descending path, relative to the kubelet's + configured seccomp profile location. Must only be set if type is + "Localhost". + type: string + type: + description: "type indicates which kind of seccomp profile will be\ + \ applied. Valid options are: \n Localhost - a profile defined in\ + \ a file on the node should be used. RuntimeDefault - the container\ + \ runtime default profile should be used. Unconfined - no profile\ + \ should be applied." + type: string + required: + - type + type: object + windowsOptions: + description: The Windows specific settings applied to all containers. + If unspecified, the options from the PodSecurityContext will be used. + If set in both SecurityContext and PodSecurityContext, the value specified + in SecurityContext takes precedence. Note that this field cannot be + set when spec.os.name is linux. + properties: + gmsaCredentialSpec: + description: GMSACredentialSpec is where the GMSA admission webhook + (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents + of the GMSA credential spec named by the GMSACredentialSpecName + field. + type: string + gmsaCredentialSpecName: + description: GMSACredentialSpecName is the name of the GMSA credential + spec to use. + type: string + hostProcess: + description: HostProcess determines if a container should be run as + a 'Host Process' container. This field is alpha-level and will only + be honored by components that enable the WindowsHostProcessContainers + feature flag. Setting this field without the feature flag will result + in errors when validating the Pod. All of a Pod's containers must + have the same effective HostProcess value (it is not allowed to + have a mix of HostProcess containers and non-HostProcess containers). In + addition, if HostProcess is true then HostNetwork must also be set + to true. + type: boolean + runAsUserName: + description: The UserName in Windows to run the entrypoint of the + container process. Defaults to the user specified in image metadata + if unspecified. May also be set in PodSecurityContext. If set in + both SecurityContext and PodSecurityContext, the value specified + in SecurityContext takes precedence. + type: string + type: object + type: object + tag: + type: string + required: + - registry + - repository + - tag + type: object + imagePullPolicy: + type: string + imagePullSecrets: + items: + type: string + type: array + monitoring: + properties: + agent: + enum: + - prometheus.io + - prometheus.io/operator + - prometheus.io/builtin + type: string + serviceMonitor: + properties: + labels: + additionalProperties: + type: string + type: object + type: object + required: + - agent + - serviceMonitor + type: object + nameOverride: + type: string + nodeSelector: + additionalProperties: + type: string + type: object + podAnnotations: + additionalProperties: + type: string + type: object + podSecurityContext: + description: 'PodSecurityContext holds pod-level security attributes and common + container settings. Optional: Defaults to empty. See type description for default + values of each field.' + properties: + fsGroup: + description: "A special supplemental group that applies to all containers\ + \ in a pod. Some volume types allow the Kubelet to change the ownership\ + \ of that volume to be owned by the pod: \n 1. The owning GID will be the\ + \ FSGroup 2. The setgid bit is set (new files created in the volume will\ + \ be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- \n\ + \ If unset, the Kubelet will not modify the ownership and permissions of\ + \ any volume. Note that this field cannot be set when spec.os.name is windows." + format: int64 + type: integer + fsGroupChangePolicy: + description: 'fsGroupChangePolicy defines behavior of changing ownership and + permission of the volume before being exposed inside Pod. This field will + only apply to volume types which support fsGroup based ownership(and permissions). + It will have no effect on ephemeral volume types such as: secret, configmaps + and emptydir. Valid values are "OnRootMismatch" and "Always". If not specified, + "Always" is used. Note that this field cannot be set when spec.os.name is + windows.' + type: string + runAsGroup: + description: The GID to run the entrypoint of the container process. Uses + runtime default if unset. May also be set in SecurityContext. If set in + both SecurityContext and PodSecurityContext, the value specified in SecurityContext + takes precedence for that container. Note that this field cannot be set + when spec.os.name is windows. + format: int64 + type: integer + runAsNonRoot: + description: Indicates that the container must run as a non-root user. If + true, the Kubelet will validate the image at runtime to ensure that it does + not run as UID 0 (root) and fail to start the container if it does. If unset + or false, no such validation will be performed. May also be set in SecurityContext. If + set in both SecurityContext and PodSecurityContext, the value specified + in SecurityContext takes precedence. + type: boolean + runAsUser: + description: The UID to run the entrypoint of the container process. Defaults + to user specified in image metadata if unspecified. May also be set in SecurityContext. If + set in both SecurityContext and PodSecurityContext, the value specified + in SecurityContext takes precedence for that container. Note that this field + cannot be set when spec.os.name is windows. + format: int64 + type: integer + seLinuxOptions: + description: The SELinux context to be applied to all containers. If unspecified, + the container runtime will allocate a random SELinux context for each container. May + also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, + the value specified in SecurityContext takes precedence for that container. + Note that this field cannot be set when spec.os.name is windows. + properties: + level: + description: Level is SELinux level label that applies to the container. + type: string + role: + description: Role is a SELinux role label that applies to the container. + type: string + type: + description: Type is a SELinux type label that applies to the container. + type: string + user: + description: User is a SELinux user label that applies to the container. + type: string + type: object + seccompProfile: + description: The seccomp options to use by the containers in this pod. Note + that this field cannot be set when spec.os.name is windows. + properties: + localhostProfile: + description: localhostProfile indicates a profile defined in a file on + the node should be used. The profile must be preconfigured on the node + to work. Must be a descending path, relative to the kubelet's configured + seccomp profile location. Must only be set if type is "Localhost". + type: string + type: + description: "type indicates which kind of seccomp profile will be applied.\ + \ Valid options are: \n Localhost - a profile defined in a file on the\ + \ node should be used. RuntimeDefault - the container runtime default\ + \ profile should be used. Unconfined - no profile should be applied." + type: string + required: + - type + type: object + supplementalGroups: + description: A list of groups applied to the first process run in each container, + in addition to the container's primary GID. If unspecified, no groups will + be added to any container. Note that this field cannot be set when spec.os.name + is windows. + items: + format: int64 + type: integer + type: array + sysctls: + description: Sysctls hold a list of namespaced sysctls used for the pod. Pods + with unsupported sysctls (by the container runtime) might fail to launch. + Note that this field cannot be set when spec.os.name is windows. + items: + description: Sysctl defines a kernel parameter to be set + properties: + name: + description: Name of a property to set + type: string + value: + description: Value of a property to set + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + description: The Windows specific settings applied to all containers. If unspecified, + the options within a container's SecurityContext will be used. If set in + both SecurityContext and PodSecurityContext, the value specified in SecurityContext + takes precedence. Note that this field cannot be set when spec.os.name is + linux. + properties: + gmsaCredentialSpec: + description: GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) + inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName + field. + type: string + gmsaCredentialSpecName: + description: GMSACredentialSpecName is the name of the GMSA credential + spec to use. + type: string + hostProcess: + description: HostProcess determines if a container should be run as a + 'Host Process' container. This field is alpha-level and will only be + honored by components that enable the WindowsHostProcessContainers feature + flag. Setting this field without the feature flag will result in errors + when validating the Pod. All of a Pod's containers must have the same + effective HostProcess value (it is not allowed to have a mix of HostProcess + containers and non-HostProcess containers). In addition, if HostProcess + is true then HostNetwork must also be set to true. + type: boolean + runAsUserName: + description: The UserName in Windows to run the entrypoint of the container + process. Defaults to the user specified in image metadata if unspecified. + May also be set in PodSecurityContext. If set in both SecurityContext + and PodSecurityContext, the value specified in SecurityContext takes + precedence. + type: string + type: object + type: object + registryFQDN: + type: string + replicaCount: + type: integer + serviceAccount: + properties: + annotations: + additionalProperties: + type: string + type: object + create: + type: boolean + name: + type: string + required: + - create + type: object + tolerations: + description: If specified, the pod's tolerations. + items: + description: The pod this Toleration is attached to tolerates any taint that + matches the triple using the matching operator . + properties: + effect: + description: Effect indicates the taint effect to match. Empty means match + all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule + and NoExecute. + type: string + key: + description: Key is the taint key that the toleration applies to. Empty + means match all taint keys. If the key is empty, operator must be Exists; + this combination means to match all values and all keys. + type: string + operator: + description: Operator represents a key's relationship to the value. Valid + operators are Exists and Equal. Defaults to Equal. Exists is equivalent + to wildcard for value, so that a pod can tolerate all taints of a particular + category. + type: string + tolerationSeconds: + description: TolerationSeconds represents the period of time the toleration + (which must be of effect NoExecute, otherwise this field is ignored) tolerates + the taint. By default, it is not set, which means tolerate the taint forever + (do not evict). Zero and negative values will be treated as 0 (evict immediately) + by the system. + format: int64 + type: integer + value: + description: Value is the taint value the toleration matches to. If the + operator is Exists, the value should be empty, otherwise just a regular + string. + type: string + type: object + type: array +required: +- gcp +- image +- imagePullPolicy +- monitoring +- registryFQDN +- replicaCount +- serviceAccount +type: object diff --git a/charts/kubedb-provider-gcp/values.yaml b/charts/kubedb-provider-gcp/values.yaml new file mode 100644 index 000000000..1ccf19140 --- /dev/null +++ b/charts/kubedb-provider-gcp/values.yaml @@ -0,0 +1,77 @@ +# Default values for kubedb-provider-gcp. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +# Overrides name template +nameOverride: "" +# Overrides fullname template +fullnameOverride: "" + +replicaCount: 1 + +# Docker registry fqdn used to pull docker images +# Set this to use docker registry hosted at ${registryFQDN}/${registry}/${image} +registryFQDN: ghcr.io +image: + # Docker registry used to pull operator image + registry: kubedb + # Name of operator container image + repository: provider-gcp + # Overrides the image tag whose default is the chart appVersion. + tag: "" + # Compute Resources required by the operator container + resources: {} + # Security options the operator container should run with + securityContext: # +doc-gen:break + allowPrivilegeEscalation: false + capabilities: + drop: ["ALL"] + readOnlyRootFilesystem: true + runAsNonRoot: true + runAsUser: 65534 + seccompProfile: + type: RuntimeDefault + +# Specify an array of imagePullSecrets. +# Secrets must be manually created in the namespace. +# +# Example: +# helm template charts/stash \ +# --set imagePullSecrets[0].name=sec0 \ +# --set imagePullSecrets[1].name=sec1 +imagePullSecrets: [] +# Container image pull policy +imagePullPolicy: Always + +serviceAccount: + # Specifies whether a service account should be created + create: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "" + +podAnnotations: {} + +podSecurityContext: {} + # fsGroup: 2000 + +nodeSelector: {} + +tolerations: [] + +affinity: {} + +monitoring: + # Name of monitoring agent (one of "prometheus.io", "prometheus.io/operator", "prometheus.io/builtin") + agent: "" + serviceMonitor: + # Specify the labels for ServiceMonitor. + # Prometheus crd will select ServiceMonitor using these labels. + # Only usable when monitoring agent is `prometheus.io/operator`. + labels: {} + +gcp: + projectID: "" + secretName: "gcp-credential" diff --git a/hack/scripts/import-crds.sh b/hack/scripts/import-crds.sh index 1bade0c8a..26c73807d 100755 --- a/hack/scripts/import-crds.sh +++ b/hack/scripts/import-crds.sh @@ -16,7 +16,7 @@ set -eou pipefail -crd_dir=${1:-} +crd_dir=${1:-}/apimachinery/crds api_repo_url=https://github.com/kubedb/apimachinery.git api_repo_tag=${KUBEDB_APIMACHINERY_TAG:-master} @@ -97,3 +97,106 @@ crd-importer \ crd-importer \ --input=https://github.com/kubeops/supervisor/raw/v0.0.3/crds/supervisor.appscode.com_recommendations.yaml \ --out=./charts/kubedb-ops-manager/crds + +{ + crd_dir=${1:-}/provider-aws/package/crds + + repo_url=https://github.com/kubedb/provider-aws.git + repo_tag=${KUBEDB_PROVIDER_AWS_TAG:-main} + + if [ "$#" -ne 1 ]; then + if [ "${repo_tag}" == "main" ]; then + echo "Error: missing path_to_input_crds_directory" + echo "Usage: import-crds.sh " + exit 1 + fi + + tmp_dir=$(mktemp -d -t api-XXXXXXXXXX) + # always cleanup temp dir + # ref: https://opensource.com/article/20/6/bash-trap + trap \ + "{ rm -rf "${tmp_dir}"; }" \ + SIGINT SIGTERM ERR EXIT + + mkdir -p ${tmp_dir} + pushd $tmp_dir + git clone $repo_url + repo_dir=$(ls -b1) + cd $repo_dir + git checkout $repo_tag + popd + crd_dir=${tmp_dir}/${repo_dir}/package/crds + fi + + crd-importer \ + --input=${crd_dir} \ + --out=./charts/kubedb-provider-aws/crds +} +{ + crd_dir=${1:-}/provider-azure/package/crds + + repo_url=https://github.com/kubedb/provider-azure.git + repo_tag=${KUBEDB_PROVIDER_AZURE_TAG:-main} + + if [ "$#" -ne 1 ]; then + if [ "${repo_tag}" == "main" ]; then + echo "Error: missing path_to_input_crds_directory" + echo "Usage: import-crds.sh " + exit 1 + fi + + tmp_dir=$(mktemp -d -t api-XXXXXXXXXX) + # always cleanup temp dir + # ref: https://opensource.com/article/20/6/bash-trap + trap \ + "{ rm -rf "${tmp_dir}"; }" \ + SIGINT SIGTERM ERR EXIT + + mkdir -p ${tmp_dir} + pushd $tmp_dir + git clone $repo_url + repo_dir=$(ls -b1) + cd $repo_dir + git checkout $repo_tag + popd + crd_dir=${tmp_dir}/${repo_dir}/package/crds + fi + + crd-importer \ + --input=${crd_dir} \ + --out=./charts/kubedb-provider-azure/crds +} +{ + crd_dir=${1:-}/provider-gcp/package/crds + + repo_url=https://github.com/kubedb/provider-gcp.git + repo_tag=${KUBEDB_PROVIDER_GCP_TAG:-main} + + if [ "$#" -ne 1 ]; then + if [ "${repo_tag}" == "main" ]; then + echo "Error: missing path_to_input_crds_directory" + echo "Usage: import-crds.sh " + exit 1 + fi + + tmp_dir=$(mktemp -d -t api-XXXXXXXXXX) + # always cleanup temp dir + # ref: https://opensource.com/article/20/6/bash-trap + trap \ + "{ rm -rf "${tmp_dir}"; }" \ + SIGINT SIGTERM ERR EXIT + + mkdir -p ${tmp_dir} + pushd $tmp_dir + git clone $repo_url + repo_dir=$(ls -b1) + cd $repo_dir + git checkout $repo_tag + popd + crd_dir=${tmp_dir}/${repo_dir}/package/crds + fi + + crd-importer \ + --input=${crd_dir} \ + --out=./charts/kubedb-provider-gcp/crds +}